#include #include #include using namespace std; int n; long long dp[101]; long long fibRec(int i) { if (i < 1) return 0; if (i == 1 || i == 2) return 1; if (dp[i] != -1) return dp[i]; return dp[i] = fibRec(i - 1) + fibRec(i - 2); } long long fibIterative(int i) { dp[1] = 1; dp[2] = 1; for (int j = 3; j <= i; j++) dp[j] = dp[j - 1] + dp[j - 2]; return dp[i]; } int main() { scanf("%d", &n); printf("%lld\n", fibIterative(n)); memset(dp, -1, sizeof(dp)); printf("%lld\n", fibRec(n)); return 0; }