import java.util.Scanner;
public class Ceshi {
public static void main(String[]args){
Scanner scan=new Scanner(System.in);
int n=scan.nextInt();
int a=scan.nextInt();
int[][] nn=new int[n][n];
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
nn[i][j]=scan.nextInt();
}
}
Method(nn,n,a);
}
public static void Method(int[][] t,int n,int a){
int[][] Dis=new int[n][n];
for(int q=0;q<n;q++){
for(int w=0;w<n;w++){
Dis[q][w]=t[q][w];
}
}
for(int k=0;k<n;k++){
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
if(Dis[i][j]>Dis[i][k]+Dis[k][j]){
Dis[i][j]=Dis[i][k]+Dis[k][j];
}
}
}
}
System.out.print(Dis[0][a]);
}
}
public class Ceshi {
public static void main(String[]args){
Scanner scan=new Scanner(System.in);
int n=scan.nextInt();
int a=scan.nextInt();
int[][] nn=new int[n][n];
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
nn[i][j]=scan.nextInt();
}
}
Method(nn,n,a);
}
public static void Method(int[][] t,int n,int a){
int[][] Dis=new int[n][n];
for(int q=0;q<n;q++){
for(int w=0;w<n;w++){
Dis[q][w]=t[q][w];
}
}
for(int k=0;k<n;k++){
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
if(Dis[i][j]>Dis[i][k]+Dis[k][j]){
Dis[i][j]=Dis[i][k]+Dis[k][j];
}
}
}
}
System.out.print(Dis[0][a]);
}
}