#include <iostream>
#include <algorithm>
#include <utility>
#include <queue>
#include <algorithm>
#include <stack>
#include <deque>
#include <vector>
#include <string>
#include <cmath>
using namespace std;

int main()
{
	freopen("DATA2.txt", "r", stdin);
	freopen("OUT2.txt", "w", stdout);
	int t = 5;
	while(t--)
	{
		queue<int> q;
		queue<int> cdist;
		int x,dist[51],i,j;
		bool path[51][51],been[51];
		memset(path,0,sizeof path);
		memset(dist,-1,sizeof dist);
		cin>>x;
		for (i=0;i<x;i++)
		{
			int a,b;
			cin>>a>>b;
			path[a][b] = path[b][a] = 1;
		}
		q.push(1);
		cdist.push(0);
		memset(been,0,sizeof been);
		while (!q.empty())
		{
			int cur = q.front(),curdist = cdist.front();
			q.pop(),cdist.pop();
			if (!been[cur])
			{
				dist[cur] = curdist;
				been[cur] = 1;
				for (i=1;i<8;i++)
					if (path[cur][i] && dist[i]==-1 && !been[i])
						q.push(i),cdist.push(curdist+1);
			}
		}
		int count = 0;
		cout<<endl;
		for (i=2;i<=7;i++)
			for (j=i+1;j<=8;j++)
				if (path[i][j] && dist[i]==dist[j])
					count++;
		cout<<count<<endl;

	}
	return 0;
}


