#include<bits/stdc++.h>
using namespace std;
int main()
{
freopen("DFS.in","r",stdin);
freopen("DFS.out","w",stdout);
//freopen文件输入输出,DFS是深度优先搜索的简称
int n;
//n是图上点的个数
cin>>n;
int a[n+1][n+1];
//定义一个矩阵,二维数组,矩阵1表示两者之间有线连接,0表示两者之间无线连接
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
cin>>a[i][j];
}
}
//输入二维数组
int stack[n+1];
//定义一个栈
int top=0;
//定义栈顶元素
int p[n+1]={0};
//定义p数组为空,p数组中1代表某一个点被搜索过 ,0代表某一个点没有被搜索过
int k=0;
//定义k=0,k是个序列,从0到n扫描每一行,相当于一个指针
top++;
stack[top]=1;
p[1]=1;
//把深搜的起点定义好,加入到栈内,p更改为1,表示搜索过
cout<<1;
//要求输出路径,这是第一步
while(top>0)
//进入while循环,当top大于0即队列还有数的时候,执行以下操作
{
k++;
//k作为指针,逐一扫描每一行
if(k>n)
//如果k比n大,即k的值已经超出