#include <bits/stdc++.h>
using namespace std;
long long bion[100005][2], biom[100005][2];
const int MOD = 1000000007;
int n, m;
long long fn(int p, bool b) {
  if (p > n) {
    return 0;
  }
  if (p == n) {
    return 1;
  }
  if (bion[p][b] != -1) {
    return bion[p][b];
  }
  long long z = 0;
  if (b == 0) {
    z += fn(p + 1, 1);
  }
  z += fn(p + 1, 0);
  bion[p][b] = (z % MOD);
  return bion[p][b];
}
long long fm(int p, bool b) {
  if (p > m) {
    return 0;
  }
  if (p == m) {
    return 1;
  }
  if (biom[p][b] != -1) {
    return biom[p][b];
  }
  long long z = 0;
  if (b == 0) {
    z += fm(p + 1, 1);
  }
  z += fm(p + 1, 0);
  biom[p][b] = (z % MOD);
  return biom[p][b];
}
int main() {
  cin >> n >> m;
  for (int i = 0; i < 100005; i++) {
    for (int j = 0; j < 2; j++) {
      bion[i][j] = -1;
      biom[i][j] = -1;
    }
  }
  long long u = (fn(0, 0) + fm(0, 0) - 2 + fn(2, 1) + fm(2, 1));
  cout << u % MOD << endl;
}
