**Problem Statement:**
Given the required input arguments, write an efficient algorithm to solve the **Climbing Stairs** problem. Implement the required logic as specified by standard definitions for this classic algorithmic challenge.
**Hint / Expected Approach:**
Fibonacci recurrence dp[i] = dp[i-1] + dp[i-2]
**Edge Cases to Consider:**
- (1) n = 1
- (2) n = 2
- (3) Very large n (overflow)