#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 = -1 ;
void dq( int id , int curc ){
if ( id > n ){
if ( curc > res ){
res = curc ;
for ( int i = 1 ; i <= n ; i++ )
ans[i] = choose[i] ;
}
return ;
}
for ( int i = 1 ; i <= n ; i++ ){
if ( !used[i] ){
used[i] = 1 ;
choose[id] = i ;
dq( id + 1 , curc + c[id][i] ) ;
used[i] = 0 ;
}
}
}
int main(){
cin >> n ;
for ( int i = 1 ; i <= n ; i++ ){
for ( int j = 1 ; j <= n ;j++ ){
cin >> c[i][j] ;
}
}
dq( 1 , 0 ) ;
cout << res << endl ;
for ( int i = 1 ; i <= n ;i++ )
cout << ans[i] << " " ;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQgOwpjb25zdCBpbnQgTiA9IDMwIDsKaW50IG4gOwppbnQgY1tOXVtOXSA7CmludCBjaG9vc2VbTl0gOwppbnQgYW5zW05dIDsKaW50IHVzZWRbTl0gOwppbnQgcmVzID0gLTEgOwp2b2lkIGRxKCBpbnQgaWQgLCBpbnQgY3VyYyApewogICAgaWYgKCBpZCA+IG4gKXsKICAgICAgICBpZiAoIGN1cmMgPiByZXMgKXsKICAgICAgICAgICAgcmVzID0gY3VyYyA7CiAgICAgICAgICAgIGZvciAoIGludCBpID0gMSA7IGkgPD0gbiA7IGkrKyApCiAgICAgICAgICAgICAgICBhbnNbaV0gPSBjaG9vc2VbaV0gOwogICAgICAgIH0KICAgICAgICByZXR1cm4gOwogICAgfQogICAgZm9yICggaW50IGkgPSAxIDsgaSA8PSBuIDsgaSsrICl7CiAgICAgICAgaWYgKCAhdXNlZFtpXSApewogICAgICAgICAgICB1c2VkW2ldID0gMSA7CiAgICAgICAgICAgIGNob29zZVtpZF0gPSBpIDsKICAgICAgICAgICAgZHEoIGlkICsgMSAsIGN1cmMgKyBjW2lkXVtpXSApIDsKICAgICAgICAgICAgdXNlZFtpXSA9IDAgOwogICAgICAgIH0KICAgIH0KfQppbnQgbWFpbigpewogICAgY2luID4+IG4gOwogICAgZm9yICggaW50IGkgPSAxIDsgaSA8PSBuIDsgaSsrICl7CiAgICAgICAgZm9yICggaW50IGogPSAxIDsgaiA8PSBuIDtqKysgKXsKICAgICAgICAgICAgY2luID4+IGNbaV1bal0gOwogICAgICAgIH0KICAgIH0KICAgIGRxKCAxICwgMCApIDsKICAgIGNvdXQgPDwgcmVzIDw8IGVuZGwgOwogICAgZm9yICggaW50IGkgPSAxIDsgaSA8PSBuIDtpKysgKQogICAgICAgIGNvdXQgPDwgYW5zW2ldIDw8ICIgIiA7Cn0K