#include #define rep(i,a,b) for(int i=(a);i<=(b);i++) #define per(i,a,b) for(int i=(a);i>=(b);i--) #define REP(i,n) for(int i=(0);i<(n);i++) #define fi first #define se second #define pb push_back #define mp make_pair using namespace std; typedef pair pii; typedef vector vi; typedef long long ll; template inline void read(T &x){ int f=0;x=0;char ch=getchar(); for(;!isdigit(ch);ch=getchar())f|=(ch=='-'); for(;isdigit(ch);ch=getchar())x=x*10+ch-'0'; if(f)x=-x; } char st[15]; int v,s; void MAIN(){ v=s=0; scanf("%s",st); for(int i=0;st[i];i++) v=v*10+st[i]-'0',s+=st[i]-'0'; int t=__gcd(v,s); vi ans; for(int i=1;i*i<=t;i++) if(t%i==0){ ans.pb(i); if(i*i!=t) ans.pb(t/i); } sort(ans.begin(),ans.end()); printf("%d\n",(int)ans.size()); for(int i=0;i+1