#include<stdio.h>
#include<string.h>
#include<iostream>
#include<algorithm>
#include<map>
const long long inf=1e17;
#define forn(i,n) for(int i=0;i<n;i++)
#define ll long long
using namespace std;
ll mod=pow(10,9)+7;
ll a[5020];
int main(){
int t;
ll n,i;
string s;
cin>>s;
while(s[0]!='0'){
memset(a,0,sizeof(a));
a[0]=1;
a[1]=1;
int flag=0;
ll d=(s[0]-'0')*10+(s[1]-'0');
if(d>=10&&d<=26)
a[1]=2;
if(s[1]=='0')flag=1;
for(i=2;i<s.length();i++){
d=(s[i-1]-'0')*10+(s[i]-'0');
if(s[i]=='0'){
flag=1;
break;}
if(d>=10&&d<=26)
a[i]=a[i-1]+a[i-2];
else
a[i]=a[i-1];
}
if(!flag)
printf("%lld\n",a[i-1]);
else
printf("0\n");
cin>>s;
}
return 0;
}
I2luY2x1ZGU8c3RkaW8uaD4KI2luY2x1ZGU8c3RyaW5nLmg+CiNpbmNsdWRlPGlvc3RyZWFtPgojaW5jbHVkZTxhbGdvcml0aG0+CiNpbmNsdWRlPG1hcD4KY29uc3QgbG9uZyBsb25nIGluZj0xZTE3OwojZGVmaW5lIGZvcm4oaSxuKSBmb3IoaW50IGk9MDtpPG47aSsrKQojZGVmaW5lIGxsIGxvbmcgbG9uZwp1c2luZyBuYW1lc3BhY2Ugc3RkOwpsbCBtb2Q9cG93KDEwLDkpKzc7CmxsIGFbNTAyMF07CmludCBtYWluKCl7CmludCB0OwpsbCBuLGk7CnN0cmluZyBzOwpjaW4+PnM7CndoaWxlKHNbMF0hPScwJyl7Cm1lbXNldChhLDAsc2l6ZW9mKGEpKTsKYVswXT0xOwphWzFdPTE7CmludCBmbGFnPTA7CmxsIGQ9KHNbMF0tJzAnKSoxMCsoc1sxXS0nMCcpOwppZihkPj0xMCYmZDw9MjYpCmFbMV09MjsKaWYoc1sxXT09JzAnKWZsYWc9MTsKZm9yKGk9MjtpPHMubGVuZ3RoKCk7aSsrKXsKZD0oc1tpLTFdLScwJykqMTArKHNbaV0tJzAnKTsKaWYoc1tpXT09JzAnKXsKZmxhZz0xOwpicmVhazt9CmlmKGQ+PTEwJiZkPD0yNikKYVtpXT1hW2ktMV0rYVtpLTJdOwplbHNlCmFbaV09YVtpLTFdOwp9CmlmKCFmbGFnKQpwcmludGYoIiVsbGRcbiIsYVtpLTFdKTsKZWxzZQpwcmludGYoIjBcbiIpOwpjaW4+PnM7Cn0KcmV0dXJuIDA7Cn0=