#include "bits/stdc++.h" // only gcc using namespace std; // std::cout, std::endl #pragma region TEMPLATE constexpr auto INF = 1000000000000; //10^12;; constexpr auto MOD = 1000000007; //10^9+7;; constexpr auto EPS = 1e-9; constexpr auto PI = 3.141592653589793238462643383279; #define endl '\n'; // std::endl => '\n' #define nl cout << endl; #define ALL(v) v.begin(), v.end() #define RALL(x) (x).rbegin(), (x).rend() #define SORT(v) sort(ALL(v)) #define RSORT(v) sort(RALL(v)) #define REVERSE(v) reverse(ALL(v)) #define SZ(x) ((int)(x).size()) #define FOR(i, j, k) for (int i=j ; i=k ; i--) #define REP(i, j) FOR(i, 0, j) #define RREP(i, j) RFOR(i, j, 0) #define FOREACH(it,l) for (auto it = l.begin(); it != l.end(); it++) #define YES(p) cout << (p ? "YES":"NO") << endl; #define Yes(p) cout << (p ? "Yes":"No") << endl; templateT in(){T x; cin >> x; return x; } // read template void out(T value){ cout << value << endl; }// write template bool chmax(T& a,const T& b){ if (a < b){ a = b; return 1; } return 0; } // change max template bool chmin(T& a,const T& b){ if (b < a){ a = b; return 1; } return 0; } // change min using VI = vector; using ll = long long; using VLL = vector; #pragma endregion signed main() { cin.tie(nullptr); ios_base::sync_with_stdio(false); // cout << fixed << setprecision(10); ll M; cin >> M; ll ans = 1; REP(i,128) { ans <<= 1; ans %= M; } cout << ans << endl; return 0; }