#include <stdio.h>
#define N 8
int graph[N][N] = {
{0,1,1,0,0,0,0,0},
{0,0,1,1,0,0,0,0},
{0,0,0,1,1,0,0,0},
{0,0,0,0,1,1,0,0},
{0,0,0,0,0,1,1,0},
{0,0,0,0,0,0,1,1},
{0,0,0,0,0,0,0,1},
{0,0,0,0,0,0,0,0}
};
int visited[N];
void dfs(int v)
{
int i;
visited[v] = 1;
for(i = 0; i < N; i++)
{
if(graph[v][i] == 1 && visited[i] == 0)
{
dfs(i);
}
}
}
int main(void)
{
int i;
for(i = 0; i < N; i++)
visited[i] = 0;
dfs(0);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgojZGVmaW5lIE4gOAoKaW50IGdyYXBoW05dW05dID0gewogICAgezAsMSwxLDAsMCwwLDAsMH0sCiAgICB7MCwwLDEsMSwwLDAsMCwwfSwKICAgIHswLDAsMCwxLDEsMCwwLDB9LAogICAgezAsMCwwLDAsMSwxLDAsMH0sCiAgICB7MCwwLDAsMCwwLDEsMSwwfSwKICAgIHswLDAsMCwwLDAsMCwxLDF9LAogICAgezAsMCwwLDAsMCwwLDAsMX0sCiAgICB7MCwwLDAsMCwwLDAsMCwwfQp9OwoKaW50IHZpc2l0ZWRbTl07Cgp2b2lkIGRmcyhpbnQgdikKewogICAgaW50IGk7CgogICAgdmlzaXRlZFt2XSA9IDE7CiAgICBwcmludGYoIiVkICIsIHYpOwoKICAgIGZvcihpID0gMDsgaSA8IE47IGkrKykKICAgIHsKICAgICAgICBpZihncmFwaFt2XVtpXSA9PSAxICYmIHZpc2l0ZWRbaV0gPT0gMCkKICAgICAgICB7CiAgICAgICAgICAgIGRmcyhpKTsKICAgICAgICB9CiAgICB9Cn0KCmludCBtYWluKHZvaWQpCnsKICAgIGludCBpOwoKICAgIGZvcihpID0gMDsgaSA8IE47IGkrKykKICAgICAgICB2aXNpdGVkW2ldID0gMDsKCiAgICBwcmludGYoIuS4gOethuabuOOBjeODq+ODvOODiFxuIik7CgogICAgZGZzKDApOwoKICAgIHByaW50ZigiXG4iKTsKCiAgICByZXR1cm4gMDsKfQ==