#include #define repr(i,a,b) for(int i=a;i=a;i--) // [a, b) #define reprev(i,n) reprrev(i,0,n) #define _GLIBCXX_DEBUG #define int long long using ll = long long; using ull = unsigned long long; template inline bool chmax(T& a, T b) { if (a < b) { a = b; return true; } return false; } template inline bool chmin(T& a, T b) { if (a > b) { a = b; return true; } return false; } const ll mod = 1e9+7; void chmod(ll &M){ if(M >= mod) M %= mod; else if(M < 0){ M += (abs(M)/mod + 1)*mod; M %= mod; } } int getl(int i, int N) { return i==0? N-1:i-1; }; int getr(int i, int N) { return i==N-1? 0:i+1; }; long long GCD(long long a, long long b) { if (b == 0) return a; else return GCD(b, a % b); } using namespace std; using Graph = vector>; signed main() { int n; cin >> n; int k = 1; while(n>=k) { if(n==k) {cout << 1 << endl; return 0;} k *= 2; } cout << 2 << endl; }