#include <bits/stdc++.h>
using namespace std ;
unsigned long long fib[86];
int main()
{
    fib[0] = 0 , fib[1] = 1;
    for (int i = 2 ; i <= 85 ; i++ )
    {
        fib[i] = fib[i-1] + fib[i-2];
    }
    cout << fib[4];
    string s;
    while(cin >> s)
    {
        unsigned long long res = 1,c = 1;
        if (s == "0") break;
        for (int i = 0 ; i < s.size() - 1 ; i++ )
        {
            int n = (s[i] - 48 )*10 + (s[i+1] - 48 );
            if ( i+ 2 < s.size() && s[i+2] == '0') res *= fib[++c] , c = 1;
            else if ( s[i + 1] == '0') i ++ ,  res *= fib[++c] , c = 1;
            else if (n <= 26) c++;
            else
            {
                res *= fib[++c] , c = 1;
            }
        }
        int check = s.find("00");
        if (check >= 0) res = 0;
        cout << res * fib[++c]<< "\n";
    }
}
