#include using namespace std; #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) #define SORT(x) sort((x).begin(),(x).end(),greater()) using LL=long long; using ULL=unsigned long long; using PII=pair; const LL INF = numeric_limits::max(); struct cww{cww(){ios::sync_with_stdio(false);cin.tie(0);}}star; int main() { int N; cin >> N; vector dp( 50 + 1 ); dp[ 0 ] = 1; dp[ 1 ] = 1; for( int i = 2; i <= N; i++ ) { dp[ i ] = dp[ i - 1 ] + dp[ i - 2 ]; } cout << dp[ N ] << endl; return 0; }