#include <bits/stdc++.h>
using namespace std;
long long modu = 1000000007LL;
long long dp[152][152][152][2][2][2];
int row, col;
long long Solve(int pos, int top, int bot, int top_up, int bot_up, int phase) {
  long long& alias = dp[pos][top][bot][top_up][bot_up][phase];
  if (alias != -1LL) return alias;
  if (pos == col) {
    return alias = 0LL;
  }
  long long v = 0LL;
  int turn = 0;
  if (phase == 0) {
    if (top_up && bot_up) {
      turn = 1;
    }
  } else {
    turn = 1;
    if (top_up && bot_up) {
      turn = 0;
    }
  }
  if (turn == 0) {
    if (top_up) {
      if (top != 0) {
        v += Solve(pos, top - 1, bot, top_up, bot_up, phase);
      }
    } else {
      if (top != bot) {
        v += Solve(pos, top + 1, bot, top_up, bot_up, phase);
      }
    }
  } else {
    if (bot_up) {
      if (top != bot) {
        v += Solve(pos, top, bot - 1, top_up, bot_up, phase);
      }
    } else {
      if (bot != row - 1) {
        v += Solve(pos, top, bot + 1, top_up, bot_up, phase);
      }
    }
  }
  if (phase == 0) {
    v += Solve(pos, top, bot, top_up, bot_up, 1);
  } else {
    for (int(i) = 0; (i) < (2); ++(i))
      for (int(j) = 0; (j) < (2); ++(j)) {
        if (top_up == 0 && i == 1) continue;
        if (bot_up == 1 && j == 0) continue;
        int ntop = top;
        int nbot = bot;
        if (i != top_up) {
          ntop += 1;
        }
        if (j != bot_up) {
          nbot -= 1;
        }
        if (ntop > nbot) continue;
        v += Solve(pos + 1, ntop, nbot, i, j, 0);
      }
    v += 1LL;
  }
  v %= modu;
  alias = v;
  return v;
}
int main() {
  cin >> row >> col;
  long long res = 0LL;
  for (int(i) = 0; (i) < (152); ++(i))
    for (int(j) = 0; (j) < (152); ++(j))
      for (int(k) = 0; (k) < (152); ++(k))
        for (int(l) = 0; (l) < (2); ++(l))
          for (int(m) = 0; (m) < (2); ++(m))
            for (int(z) = 0; (z) < (2); ++(z)) dp[i][j][k][l][m][z] = -1LL;
  for (int(i) = 0; (i) < (col); ++(i)) {
    for (int(j) = 0; (j) < (row); ++(j)) {
      res += Solve(i, j, j, 1, 0, 1);
      res %= modu;
    }
  }
  cout << res << endl;
}
