#include<bits/stdc++.h>
using namespace std ;
const int N = 30 ;
int n ;
int c[N][N] ;
int choose[N] ;
int ans[N] ;
int used[N] ;
int res = 1e9 ;
void dq ( int id , int curc ){
if ( curc >= res )
return ;
if ( id == n ){
res = curc ;
for ( int i = 0 ; i < n ; i++ )
ans[i] = choose[i] ;
return ;
}
for ( int i = 0 ; i < n ; i++ ){
if ( !used[i] ){
choose[id] = i + 1 ;
used[i] = 1 ;
dq( id + 1 , curc + c[id][i]) ;
used[i] = 0 ;
}
}
}
int main(){
cin >> n ;
for ( int i = 0 ; i < n ; i++){
for ( int j = 0 ; j < n ; j++ ){
cin >> c[i][j] ;
}
}
dq( 0 , 0 ) ;
cout << res << endl ;
for ( int i = 0 ; i < n ;i++ )
cout << ans[i] << " " ;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZCA7CmNvbnN0IGludCBOID0gMzAgOwppbnQgbiA7CmludCBjW05dW05dIDsKaW50IGNob29zZVtOXSA7CmludCBhbnNbTl0gOwppbnQgdXNlZFtOXSA7CmludCByZXMgPSAxZTkgOwp2b2lkIGRxICggaW50IGlkICwgaW50IGN1cmMgKXsKICAgIGlmICggY3VyYyA+PSByZXMgKQogICAgICAgIHJldHVybiA7CiAgICBpZiAoIGlkID09IG4gKXsKICAgICAgICByZXMgPSBjdXJjIDsKICAgICAgICBmb3IgKCBpbnQgaSA9IDAgOyBpIDwgbiA7IGkrKyApCiAgICAgICAgICAgIGFuc1tpXSA9IGNob29zZVtpXSA7CiAgICAgICAgcmV0dXJuIDsKICAgIH0KICAgIGZvciAoIGludCBpID0gMCA7IGkgPCBuIDsgaSsrICl7CiAgICAgICAgaWYgKCAhdXNlZFtpXSApewogICAgICAgICAgICBjaG9vc2VbaWRdID0gaSArIDEgIDsKICAgICAgICAgICAgdXNlZFtpXSA9IDEgOwogICAgICAgICAgICBkcSggaWQgKyAxICwgY3VyYyArIGNbaWRdW2ldKSA7CiAgICAgICAgICAgIHVzZWRbaV0gPSAwIDsKICAgICAgICB9CiAgICB9Cn0KaW50IG1haW4oKXsKICAgIGNpbiA+PiBuIDsKICAgIGZvciAoIGludCBpID0gMCA7IGkgPCBuIDsgaSsrKXsKICAgICAgICBmb3IgKCBpbnQgaiA9IDAgOyBqIDwgbiA7IGorKyApewogICAgICAgICAgICBjaW4gPj4gY1tpXVtqXSA7CiAgICAgICAgfQogICAgfQogICAgZHEoIDAgLCAwICkgOwogICAgY291dCA8PCByZXMgPDwgZW5kbCA7CiAgICBmb3IgKCBpbnQgaSA9IDAgOyBpIDwgbiAgO2krKyApCiAgICAgICAgY291dCA8PCBhbnNbaV0gPDwgIiAiIDsKfQo=