#include<bits/stdc++.h>
using namespace std ;
#define F first
#define S second
const int Q = 1e4+5 ;
const int N = 67000005 ;
vector<pair<pair<int,int>,pair<int,int>>> edges = {
{{0,0},{1,0}} , {{0,0},{1,1}} , {{0,0},{1,2}} , {{0,0},{2,1}} ,
{{0,1},{0,2}} , {{0,1},{1,0}} , {{0,1},{1,1}} , {{0,1},{1,2}} , {{0,1},{2,0}} , {{0,1},{2,2}} ,
{{0,2},{1,0}} , {{0,2},{1,1}} , {{0,2},{1,2}} , {{0,2},{2,1}} ,
{{1,0},{1,1}} , {{1,0},{2,1}} , {{1,0},{2,2}} ,
{{1,1},{1,2}} , {{1,1},{2,0}} , {{1,1},{2,1}} , {{1,1},{2,2}} ,
{{1,2},{2,0}} , {{1,2},{2,1}} , {{1,2},{2,2}} ,
{{2,0},{2,1}} ,
{{2,1},{2,2}}
} ;
vector<pair<pair<int,int>,pair<int,int>>> BuildPattern(int n){
vector<pair<pair<int,int>,pair<int,int>>> ans ;
// ans.push_back({{0,0},{0,1}}) ;
for(int i=0 ; i<26 ; i++){
if((n>>i)&1) ans.push_back(edges[i]) ;
}
return ans ;
}
bool f(pair<pair<int,int>,pair<int,int>> a , pair<pair<int,int>,pair<int,int>> b){
return a.F.F==b.F.F && a.F.S==b.F.S && a.S.F==b.S.F && a.S.S==b.S.S ;
}
int GetCardNumber(vector<pair<pair<int,int>,pair<int,int>>> v){
int ans = 0 ;
for(pair<pair<int,int>,pair<int,int>> it:v){
pair<pair<int,int>,pair<int,int>> it1 = {it.S,it.F} ;
for(int i=0 ; i<26 ; i++){
if(f(edges[i],it) || f(edges[i],it1)) ans |= (1<<i) ;
}
}
return ans ;
}
/*
int main(){
for(int i=1 ; i<=25 ; i++) cout << GetCardNumber(BuildPattern(i)) << '\n' ; //
return 0 ;
}
*/