#include <bits/stdc++.h>
#define IOS ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#define endl "\n"
using namespace std;
typedef long long LL;
const int MOD = 1e9 + 7;
int n;
char s[100];
LL f[100][3];
int main() {
IOS;
cin >> s + 1;
n = strlen(s + 1);
f[1][(s[1] - '0') % 3] = 1;
for (int i = 2; i <= n; i ++ ) {
int p = (s[i] - '0') % 3;
f[i][p] = (f[i][p] + 1) % MOD;
for (int j = 0; j < 3; j ++ )
f[i][j] = (f[i][j] + f[i - 1][j] + f[i - 1][((j - p) % 3 + 3) % 3]) % MOD;
}
cout << f[n][0] << endl;
return 0;
}