#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] << " " ;
}
