#include<iostream>
#include<vector>
#include<string>
#include<algorithm>
#include<queue>
#include<stack>
using namespace std;
#define INF 999999999
int m,n;
vector< vector<int > > S;
vector<int> F;

void init(){
  m=n=0;
  S.resize(0);
  F.resize(0);
}

void input(){
  cin>>m>>n;
  m++;
  F.resize(m);
  S.resize(m);
  for(int i=0;i<m;i++){
    F[i]=0;
  }
  F[0]=INF;
  for(int i=0;i<n;i++){
    int f,s;
    cin>>f>>s;
    F[s]++;
    S[f].push_back(s);
  }
}

int find_zero(){
  for(int i=0;i<m;i++){
    if(F[i]==0){
      F[i]=INF;
      return i;
    }
  }
}

void hoge(int n){
  for(int i=0;i<S[n].size();i++){
    F[S[n][i]]--;
  }
}

vector<int> solve(){
  vector<int> res;
  
  for(int i=1;i<m;i++){
    for(int j=0;j<F.size();j++){
      cout<<F[j]<<" ";
    }cout<<endl;
    int num=find_zero();
    hoge(num);
    res.push_back(num);
  }

  return res;
}

int main(){
  init();
  input();
  vector<int> ans = solve();
  for(int i=0;i<ans.size();i++){
    cout<<ans[i]<<endl;
  }
}