/*#include <stdio.h>
#include <stdlib.h>
int main()
{
printf("Hello world!\n");
return 0;
}
*/
/*
#include <stdio.h>
int Graph[1001][1001]= {0};
int DFSvisit[1001] = {0};
int BFSvisit[1001] = {0};
int queue[1001];
void DFS(int v, int N) // v = 간선, N = NODE
{
int i;
DFSvisit[v]=1;
printf("%d ",v);
for(i = 1; i <= N; i++)
{
if(Graph[v][i]==1 && DFSvisit[i]==0)
{
DFS(i,N);
}
}
return;
}
void BFS(int v,int N)
{
int front = 0, rear =0, Pop, i;
printf("%d ",v);
queue[0] = v;
rear++;
BFSvisit[v]=1;
while(front < rear)
{
Pop = queue[front];
front++;
}
for(i = 1; i <= N; i++)
{
if(Graph[Pop][i]==1 && BFSvisit[i]==0)
{
printf("%d ",i);
queue[rear]=i;
rear++;
BFSvisit[i]=1;
}
}
return;
}
int main()
{
int N, M, Start;
int i, x, y;
scanf("%d %d %d",&N,&M,&Start);
for(i = 0; i <M; i++)
{
scanf("%d %d",&x,&y);
Graph[x][y]=1;
Graph[y][x]=1;
}
DFS(Start,N);
printf("\n");
BFS(Start,N);
return 0;
}
*/
/*
#include <stdio.h>
int main()
{
char two[50];
int plus = 0, wei = 1, i = 0;
scanf("%s",two);
while(two[i] != 0)
{
i++;
}
while(i--)
{
if(two[i]=='1')
{
plus += wei;
}
wei *= 2;
}
printf("%d",plus);
return 0;
}
*/
/*
#include <stdio.h>
#define MAX 1001
int metrix[MAX][MAX];
int visited[MAX * MAX];
void DFS(int v, int N)
{
printf("%d ", v);
visited[v] = 1;
for(int d = 1; d <= N; d++)
{
if(!visited[d]&&metrix[v][d])
{
DFS(d,N);
}
}
}
void BFS(int v, int N)
{
int front = -1, rear =-1;
int queue[MAX * MAX] = {0};
rear++;
queue[rear] = v;
visited[v] = 1;
printf("%d ",v);
while (front < rear)
{
front++;
int nextV = queue[front];
//인접 정점 체크
}
for(int d = 1; d <= N; d++)
{
if(!visited[d]&&metrix[nextV][d])
{
rear++;
visited[d]=1;
queue[rear]=d;
printf("%d",d);
}
}
}
*/