#include using namespace std; typedef long long ll; #define rep(i, n) for (int i = 0; i < (n); i++) #define rep2(i, x, n) for (int i = x; i < (n); i++) #define ALL(n) begin(n), end(n) template inline bool chmax(T& a, T b) { if (a < b) { a = b; return 1; } return 0; } template inline bool chmin(T& a, T b) { if (a > b) { a = b; return 1; } return 0; } const long long INF = numeric_limits::max(); using Graph = vector >; int main() { int n; cin >> n; ll a[100010]; rep(i, n) { cin >> a[i]; } ll dp[100010]; dp[0] = 0; dp[1] = 1; dp[2] = 2; rep2(i, 3, n) { dp[i] = dp[i - 1] + dp[i - 2]; } cout << dp[n]; }