#include <bits/stdc++.h>
long long ceil(long long x, long long y) { return (x + y - 1) / y; }
using namespace std;
long long t, n, i, j, k, x, y, z, l, r, mid, mod = 1e9 + 7, g, m, ans, q;
int a[400005], d[100005];
char ch;
vector<int> v[300005], u;
int dp(int i) {
  if (i < 0) return 0;
  if (i == 0) return 2;
  int &ret = d[i];
  if (ret + 1) return ret;
  ret = (dp(i - 2) + dp(i - 1)) % mod;
  return ret;
}
void ff() {
  memset(d, -1, sizeof d);
  for (i = 1; i <= 1e5; i++) n = dp(i);
  cin >> n >> m;
  ans = (dp(n) - 2 + dp(m) + mod) % mod;
  cout << ans;
}
int main() {
  ios::sync_with_stdio(NULL);
  cin.tie(0);
  cout.tie(0);
  ff();
}
