#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; using ll = long long; constexpr int INF = 1001001001; constexpr int mod = 1000000007; // constexpr int mod = 998244353; template inline bool chmax(T& x, T y){ if(x < y){ x = y; return true; } return false; } template inline bool chmin(T& x, T y){ if(x > y){ x = y; return true; } return false; } int main(){ ios::sync_with_stdio(false); cin.tie(nullptr); string s; cin >> s; int n = s.length(); vector cnt(10); for(int i = 0; i < n; ++i) cnt[s[i] - '0'] += 1; for(int i = 1; i < 10; ++i){ if(cnt[i] == n){ cout << s << endl; return 0; } } int g = 0; for(int i = 1; i < 10; ++i){ if(cnt[i] == 0) continue; for(int j = 0; j < i; ++j){ if(cnt[j] > 0) g = gcd(g, 9 * (i - j)); } } for(int i = g; i > 0; --i){ if(g % i != 0) continue; int m = 0; for(int j = 0; j < n; ++j){ m = (m * 10 + (s[j] - '0')) % i; } if(m == 0){ cout << i << endl; return 0; } } return 0; }