#include <bits/stdc++.h>
using namespace std;
long long gcd(long long a, long long b) {
  if (b == 0) return a;
  return gcd(b, a % b);
}
const long long MAX_N = 1e5;
long long N, M;
long long a[MAX_N + 1] = {0};
long long dp[MAX_N + 1];
long long n_div = 1e9 + 7;
void rec(long long i) {
  if (i == 0)
    dp[i] = 1;
  else if (a[i] == 1)
    dp[i] = 0;
  else if (a[i] == 0 & i == 1)
    dp[i] = 1;
  else
    dp[i] = dp[i - 2] + dp[i - 1];
  dp[i] %= n_div;
  return;
}
int main() {
  cin >> N >> M;
  memset(dp, -1, sizeof(dp));
  for (long long i = 0; i < (long long)(N + 1); i++) rec(i);
  cout << dp[N] << endl;
}
