#include <iostream>
using namespace std;

int a[128][128];
int b[128][128];
int v[128][128];

bool dfs(int y, int x, int c)
{
	if(v[y][x] == c) return true;
	if(v[y][x] != 0) return false;

	v[y][x] = c;
	return dfs(b[y][x], a[y][x], c);
}

int main()
{
	int N;
	while(cin>>N, N)
	{
		for(int y=0; y<N; y++)
		for(int x=0; x<N; x++)
		{
			v[y][x] = 0;
			cin >> a[y][x] >> b[y][x];
		}

		int col=0,cnt=0;
		for(int y=0; y<N; y++)
		for(int x=0; x<N; x++)
		{
			if(dfs(y,x,++col))
			{
				cnt++;
			}
		}

		cout << cnt << endl;
	}
}