#include<bits/stdc++.h>
#define x second
#define y first
using namespace std;
pair<int,int>a[101][101];
int col[101][101];
int n;
void dfs(int y1,int x1){
  col[y1][x1]=1;
  if(!col[a[y1][x1].y][a[y1][x1].x])dfs(a[y1][x1].y,a[y1][x1].x);
  for(int i=0;i<n;i++)
    for(int j=0;j<n;j++)
      if(!col[i][j]&&a[i][j].y==y1&&a[i][j].x==x1)
        dfs(i,j);
}
int main(){
  while(cin>>n,n){
    memset(col,0,sizeof(col));
    memset(a,0,sizeof(a));
    for(int i=0;i<n;i++)
      for(int j=0;j<n;j++)
        cin>>a[i][j].x>>a[i][j].y;
    int sum=0;
    for(int i=0;i<n;i++)
      for(int j=0;j<n;j++)
        if(!col[i][j])dfs(i,j),sum++;
    cout<<sum<<endl;
  }
}