#include<stdio.h>
#include<stdlib.h>
void DFS(int V,int **mat,int *visited,int sour )
{
    
  printf("%d ",sour);
  visited[sour]=1;
  for(int i=0;i<V;i++)
  {
      if(mat[sour][i]!=0&&visited[i]==0)
        DFS(V,mat,visited,sour);  
  }
}
int main()
{
    int *mat,*visited,V,E,r,c,u,v,w,sour;
    scanf("%d",&V);
    if(V<0)
    {
        printf("Invalid input");
        return 0;
    }
    scanf("%d",&E);
    **mat=(int**)malloc(V*sizeof(int*));
    for(r=0;r<V;r++)
    {
        mat[r]=(int*)malloc(V*sizeof(int));
        for(c=0;c<E;c++)
        {
            mat[u][v]=w;
        }
    }
    scanf("%d",&sour);
    visited=(int*)malloc(V*sizeof(int));
    printf("DFS Traversal starting form vertex %d",sour);
    DFS(V,mat,visited,sour);
    return 0;
    
}