#include <bits/stdc++.h>
using namespace std;
#define ffor(i,o,f) for(int i = o; i < f; i++)
#define pb push_back
#define mp make_pair
#define all(a) (a).begin(), (a).end()
#define F first
#define S second
#define PI 3.14159265358979323846264338327950
#define fast ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);
#define endl '\n'
#define sz(x) ((int)(x).size())
typedef long long ll;
typedef pair < int, int > pii;
typedef vector < int > vi;
typedef vector < pii > vii;
typedef vector < vi > gi;
typedef vector < ll > vll;
typedef map < int, int > mii;
int t, n, m, u, v, groups;
const int tam = 1005;
int mat[tam][tam];
unordered_set < int > vis;
void dfs(int nd){
vis.insert(nd);
ffor(i, 0, tam){
if(mat[nd][i] && vis.find(i) == vis.end()){
dfs(i);
}
}
}
int main()
{
mat[0][2] = mat[2][0] = 4;
mat[0][3] = mat[3][0] = 2;
mat[1][6] = mat[6][1] = 2;
mat[1][3] = mat[3][1] = 7;
mat[6][7] = mat[7][6] = 8;
mat[3][7] = mat[7][3] = 3;
mat[2][3] = mat[3][2] = 6;
mat[2][4] = mat[4][2] = 1;
mat[2][5] = mat[5][2] = 3;
mat[4][5] = mat[5][4] = 5;
dfs(0);
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgojZGVmaW5lIGZmb3IoaSxvLGYpCQkgICBmb3IoaW50IGkgPSBvOyBpIDwgZjsgaSsrKQojZGVmaW5lIHBiIAkJCQkgICBwdXNoX2JhY2sKI2RlZmluZSBtcCAgICAgICAgICAgICAgICAgbWFrZV9wYWlyCiNkZWZpbmUgYWxsKGEpICAgICAgICAgICAgIChhKS5iZWdpbigpLCAoYSkuZW5kKCkKI2RlZmluZSBGICAgICAgICAgICAgICAgICAgZmlyc3QKI2RlZmluZSBTICAgICAgICAgICAgICAgICAgc2Vjb25kCiNkZWZpbmUgUEkgCQkJCSAgIDMuMTQxNTkyNjUzNTg5NzkzMjM4NDYyNjQzMzgzMjc5NTAKI2RlZmluZSBmYXN0IGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpO2Npbi50aWUoMCk7Y291dC50aWUoMCk7CiNkZWZpbmUgZW5kbCAJCQkgICAnXG4nCiNkZWZpbmUgc3ooeCkgICAgICAgICAgICAgICgoaW50KSh4KS5zaXplKCkpCnR5cGVkZWYgbG9uZyBsb25nICAgICAgICAgIGxsOwp0eXBlZGVmIHBhaXIgPCBpbnQsIGludCA+ICBwaWk7CnR5cGVkZWYgdmVjdG9yIDwgaW50ID4gICAgIHZpOwp0eXBlZGVmIHZlY3RvciA8IHBpaSA+ICAgICB2aWk7CnR5cGVkZWYgdmVjdG9yIDwgdmkgPiAJICAgZ2k7CnR5cGVkZWYgdmVjdG9yIDwgbGwgPiAgICAgIHZsbDsKdHlwZWRlZiBtYXAgPCBpbnQsIGludCA+ICAgbWlpOwoKaW50IHQsIG4sIG0sIHUsIHYsIGdyb3VwczsKY29uc3QgaW50IHRhbSA9IDEwMDU7CmludCBtYXRbdGFtXVt0YW1dOwp1bm9yZGVyZWRfc2V0IDwgaW50ID4gdmlzOwoKdm9pZCBkZnMoaW50IG5kKXsKICAgIHZpcy5pbnNlcnQobmQpOwogICAgZmZvcihpLCAwLCB0YW0pewogICAgICAgIGlmKG1hdFtuZF1baV0gJiYgdmlzLmZpbmQoaSkgPT0gdmlzLmVuZCgpKXsKICAgICAgICAgICAgZGZzKGkpOwogICAgICAgIH0KICAgIH0KfQoKaW50IG1haW4oKQp7CiAgICBtYXRbMF1bMl0gPSBtYXRbMl1bMF0gPSA0OwogICAgbWF0WzBdWzNdID0gbWF0WzNdWzBdID0gMjsKICAgIG1hdFsxXVs2XSA9IG1hdFs2XVsxXSA9IDI7CiAgICBtYXRbMV1bM10gPSBtYXRbM11bMV0gPSA3OwogICAgbWF0WzZdWzddID0gbWF0WzddWzZdID0gODsKICAgIG1hdFszXVs3XSA9IG1hdFs3XVszXSA9IDM7CiAgICBtYXRbMl1bM10gPSBtYXRbM11bMl0gPSA2OwogICAgbWF0WzJdWzRdID0gbWF0WzRdWzJdID0gMTsKICAgIG1hdFsyXVs1XSA9IG1hdFs1XVsyXSA9IDM7CiAgICBtYXRbNF1bNV0gPSBtYXRbNV1bNF0gPSA1OwoKICAgIGRmcygwKTsKfQo=