#include <iostream>
using namespace std;
typedef pair<int,int> P;
int N;
int map[100][100];
P edge[100][100];
bool rec(int c,int x,int y){
     if(c==map[x][y])return true;
     if(map[x][y]>0)return false;
     map[x][y]=c;
     return rec(c,edge[x][y].second,edge[x][y].first);
}
int main(){
     while(cin>>N,N){
	  for(int i=0;i<N;i++){
	       for(int j=0;j<N;j++){
		    map[i][j]=0;
	       }
	  }
	  for(int i=0;i<N;i++){
	       for(int j=0;j<N;j++){
		    P t;
		    cin>>t.first>>t.second;
		    edge[i][j]=t;
	       }
	  }
	  int c=1,ans=0;
	  for(int i=0;i<N;i++){
	       for(int j=0;j<N;j++){
		    if(rec(c,i,j))ans++;
		    c++;
	       }
	  }
	  /*for(int i=0;i<N;i++){
	       for(int j=0;j<N;j++){
		    cout<<map[i][j];
	       }
	       cout<<endl;
	       }*/
	  cout<<ans<<endl;
     }
}