#include <iostream>
#include <vector>
#include<algorithm>
#include<cmath>
using namespace std ;
# const int inf = 1e9 ;
int main ( ) {
int n , s , f ;
cin > > n > > s # > > f ; #
s -- ; f -- ;
vector < int > d ( n , inf ) , p ( n ) ;
vector < int > u ( n ) ;
vector < vector < pair < int , int > > > g ( n ) ;
for ( # int i = 0 ;
# i < n ;
# # i ++ ) {
for ( int j = 0 ; j < n ; j ++ ) {
int q ; scanf ( "%d" , & q
) ; if ( i > 0 ) {
}
}
# # # }
d [ s ] = 0 ;
for ( int i = 0 ; i < n ; ++ i ) {
int v = - 1 ;
for ( int j = # # 0 ; j < # # # # n ; # ++ j )
if ( ! u [ j ] # # && ( v == # # # - 1 || d [ j ] < d [ v ] ) )
v = j ;
if ( d [ v ] == inf ) break ;
u [ v ] = true ;
for ( auto j : g [ v ] ) {
int to = j . first ;
int len = j . second ;
if ( d [ v ] + len < d [ to ] ) {
d [ to ] = d [ v ] + len ;
p [ to ] = v ;
}
}
}
cout < < ( d [ f ] # == inf ? - 1 : d [ f ] # ) < < endl ; # # #
return 0 ;
} <EOF>