#include <bits/stdc++.h>
using namespace std;
char str[750];
int match[750];
long long dp[750][750][3][3];
void bamatch(int len) {
  memset(match, 0, sizeof(match));
  for (int j = 1; j < len; j += 2) {
    for (int i = 0; i + j < len; ++i) {
      if (match[i] || match[i + j]) continue;
      if (str[i + j] == str[i] + 1) {
        match[i] = i + j;
        match[i + j] = i;
      }
    }
  }
}
int main(int argc, char const *argv[]) {
  while (scanf("%s", str) > 0) {
    int len = strlen(str);
    bamatch(len);
    memset(dp, 0, sizeof(dp));
    for (int i = len - 2; i >= 0; --i)
      for (int j = i + 1; j < len; ++j) {
        if (j - i == 1)
          dp[i][j][1][0] = dp[i][j][2][0] = dp[i][j][0][1] = dp[i][j][0][2] = 1;
        else if (match[i] == j) {
          for (int l = 0; l < 3; ++l)
            for (int r = 0; r < 3; ++r) {
              if (l != 1)
                dp[i][j][1][0] =
                    (dp[i][j][1][0] + dp[i + 1][j - 1][l][r]) % 1000000007;
              if (l != 2)
                dp[i][j][2][0] =
                    (dp[i][j][2][0] + dp[i + 1][j - 1][l][r]) % 1000000007;
              if (r != 1)
                dp[i][j][0][1] =
                    (dp[i][j][0][1] + dp[i + 1][j - 1][l][r]) % 1000000007;
              if (r != 2)
                dp[i][j][0][2] =
                    (dp[i][j][0][2] + dp[i + 1][j - 1][l][r]) % 1000000007;
            }
        } else if (match[i] > i && match[i] < j)
          for (int l = 0; l < 3; ++l)
            for (int r = 0; r < 3; ++r)
              for (int p = 0; p < 3; ++p)
                for (int q = 0; q < 3; ++q)
                  if ((l != p || !l) && (q != p || !q))
                    dp[i][j][l][r] =
                        (dp[i][j][l][r] +
                         (dp[i][match[i]][l][p] * dp[match[i] + 1][j][q][r]) %
                             1000000007) %
                        1000000007;
      }
    int ans = 0;
    for (int i = 0; i < 3; ++i)
      for (int j = 0; j < 3; ++j)
        ans = (ans + dp[0][len - 1][i][j]) % 1000000007;
    printf("%d\n", ans);
  }
  return 0;
}
