#include using namespace std; #define FOR(i,a,b) for(int i=(a);i<(b);++i) #define REP(i,n) FOR(i,0,n) #define ALL(v) begin(v),end(v) template inline bool chmax(A & a, const B & b) { if (a < b) { a = b; return true; } return false; } template inline bool chmin(A & a, const B & b) { if (a > b) { a = b; return true; } return false; } using ll = long long; using pii = pair; constexpr ll INF = 1ll<<30; constexpr ll longINF = 1ll<<60; constexpr ll MOD = 1000000007; constexpr bool debug = false; //---------------------------------// int main() { ll N; cin >> N; // FOR(j, 2, 8) { // vector grid(N, vector(j)); // bool ok = false; // REP(k, 1 << N * j) { // REP(l, N * j) grid[l / j][l % j] = k >> l & 1; // bool ng = false; // REP(x1, j) FOR(x2, x1 + 1, j) REP(y1, N) FOR(y2, y1 + 1, N) { // if (grid[y1][x1] != grid[y1][x2]) continue; // if (grid[y1][x1] != grid[y2][x1]) continue; // if (grid[y1][x1] != grid[y2][x2]) continue; // ng = true; // goto label; // } // label: // if (ng) continue; // ok = true; // REP(y, N) REP(x, j) printf("%d%c", grid[y][x], " \n"[x + 1 == j]); // break; // } // if (ok) cout << j << endl; // else break; // } if (N == 2) puts("INF"); else if (N <= 4) puts("6"); else if (N <= 6) puts("4"); else puts("2"); }