#include
using namespace std;
const int maxn = 2005;
const int max_weight = 3550;
const int INF = 1e9;
string s;
int dp[maxn];
int rec(int at) {
if(at >= s.size()) {
return 1;
}
if(dp[at] != -1) {
return dp[at];
}
int result = 0;
if(s[at] != '0') {
result += rec(at + 1);
}
if(at + 1 < s.size() and s[at] != '0') {
int tmp_number = (s[at] - '0') * 10 + (s[at + 1] - '0');
if(tmp_number <= 26 and tmp_number != 0) {
result += rec(at + 2);
}
}
return dp[at] = result;
}
int main() {
cin >> s;
for(int i = 0; i < maxn; i++) {
dp[i] = -1;
}
cout << rec(0) << endl;
return 0;
}