#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define ArraySizeOf(array) (sizeof(array) / sizeof(array[0])) #define res(i,n) for(int i=n;;i++) #define rep(i, n) for (int i = 0; i < (int)(n); i++) #define REP(i,n) for(int i=1;i=0;i--) #define REV(i,n) for(int i=n-1;i>0;i--) #define req(i,n,m) for(int i=n;i> N >> M; if (N == 1) { cout << 1 << endl; return 0; } if (N > M) { cout << 1 << endl; return 0; } if (N == M) { cout << 2 << endl; return 0; } int count = M - N; vectorans(count + 3); ans[0] = 1; ans[1] = 1; for (int i = 2; i < count + 3; i++) { ans[i] = ans[i - 1] + ans[i - 2]; ans[i] %= mod; } cout << ans[count + 2] << endl; }