#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 ;
}
int GetCardNumber(vector<pair<pair<int,int>,pair<int,int>>> v){
int ans = 0 ;
for(auto it:v){
auto it1 = it ;
swap(it1.F,it1.S) ;
for(int i=0 ; i<26 ; i++){
if(edges[i]==it || edges[i]==it1) ans |= (1<<i) ;
}
}
return ans ;
}
/*
int main(){
for(int i=1 ; i<=25 ; i++) cout << GetCardNumber(BuildPattern(i)) << '\n' ; //
return 0 ;
}
*/