#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;

bool safe(const vector<vector<int>>&mat,const vector<int>&colors,int c,int v,int V){
    for(int i=0; i<V; i++){
        if(mat[v][i] && colors[i] == c){
            return false;
        }
    }
    return true;
}
bool m_color(const vector<vector<<int>>mat,vector<int>&colors,int v,int V,int m){
    if(v==V){
        return true;
    }
    for(int c=1; c<=m; c++){
        if(safe(mat,colors,c,v,V)){
            colors[v]=c;
        if(m_color(mat,colors,v+1,V,m)){
            return true;
        }
        colors[v] = 0;
       }
    }
    return false;
}


int main(){
    int V;
    cin>>V;
    vector<vector<int>>mat(V,vector<int>(V));
    for(int i=0; i<V; i++){
        for(int j=0; j<V; j++){
            cin>>mat[i][j];
        }
    }
    int m;
    cin>>m;
    vector<int>colors(m);
    if(m_color(mat,colors,0,V,m)){
        for(int i=0; i<m; i++){
            cout<<colors[i]<<" ";
        }
    }
}