#include <bits/stdc++.h>
#define MOD 998244353LL
using namespace std;
typedef long long ll;
typedef pair<int,int> P;

map<string,ll> dp;

ll solve(string s){
	if(s.size()==0)return 1;
	if(s.size()==1){
		if(s[0]=='1')return 2;
		else return 1;
	}
	if(dp.find(s)!=dp.end()){
		return dp[s];
	}
	ll sum=solve(s.substr(0,1))*solve(s.substr(1))%MOD;

	for(int i=1;i<=s.size();i++){
		string subs=s.substr(0,i);
		for(int j=1;j<=100;j++){
			if(i*(j+1)>s.size())break;
			for(int k=0;k<i;k++){
				if(s[i*j+k]=='0')subs[k]='0';
			}
			sum=(sum+solve(subs)*solve(s.substr(i*(j+1)))%MOD)%MOD;
		}
	}
	return (dp[s]=sum);
}

int main(void){
	string str;
	cin >> str;
	printf("%lld\n",solve(str));
	return 0;
}