#include<bits/stdc++.h>
using namespace std;
int n,j;
int main(){
cin>>n;
for(int i=1;i<=n;i++){
int s=0;
for(int j=1;j<=n;j++){
int x;
cin>>x;
if(x==1)s++;
}
if(s%2==1)j++;
}
if(j==0||j==2)cout<<"TRUE"<<endl;
else cout<<"FALSE"<<endl;
return 0;
}
#include<bits/stdc++.h>
using namespace std;
int n,m,p,ans,vis[5001];
int a,b;bool f;
vector<int> g[5001];
void bfs(int st){
queue<int> q;
f=false;
if(st==b)f=true;
memset(vis,0,sizeof(vis));
while(!q.empty())q.pop();
q.push(st);
vis[st]=1;
while(!q.empty()){
int h=q.front();q.pop();
for(int i=1;i<=g[h][0];i++){
if(vis[g[h][i]]==0){
q.push(g[h][i]);
vis[g[h][i]]=1;
}
if(g[h][i]==b)f=true;
}
}
}
int main(){
cin>>n>>m>>p;
for(int i=1;i<=n;i++)g[i].push_back(0);
for(int i=1;i<=m;i++){
int x,y;
cin>>x>>y;
g[x][0]++;g[y][0]++;
g[x].push_back(y);
g[y].push_back(x);
}
for(int i=1;i<=p;i++){
cin>>a>>b;
bfs(a);
if(f==true)cout<<"Yes"<<endl;
else cout<<"No"<<endl;
}
return 0;
}
#include<bits/stdc++.h>
using namespace std;
int n,p,c,ans,vis[5001];
vector<int> g[5001];int st;
void bfs(){
queue<int> q;
while(!q.empty())q.pop();
q.push(st);
vis[st]=1;
while(!q.empty()){
int h=q.front();q.pop();
for(int i=1;i<=g[h][0];i++){
if(vis[g[h][i]]==0){
q.push(g[h][i]);
vis[g[h][i]]=vis[h]+1;
}
}
}
}
int main(){
cin>>n>>p>>st>>c;
for(int i=1;i<=n;i++)g[i].push_back(0);
for(int i=1;i<=p;i++){
int x,y;
cin>>x>>y;
g[x][0]++;g[y][0]++;
g[x].push_back(y);
g[y].push_back(x);
}
int maxx=0;
bfs();
for(int i=1;i<=n;i++){
maxx=max(maxx,vis[i]);
}
cout<<maxx+c<<endl;
return 0;
}