#include <stdio.h>
#include <algorithm>
#include <vector>

using namespace std;

int n;
int matrix[200][200];
vector<int> cols[110];

int main(){
	int m;
	while (scanf("%d%d", &n,&m)!=EOF){
		if (n+m==0) break;
		memset(matrix, 0, sizeof(matrix));
		for (int i=0;i<m;i++){
			int a,b;
			scanf("%d%d", &a,&b);
			matrix[a][b] = 1;
		}
		for (int i=1;i<=n;i++){
			cols[i].clear();
			for (int j=1;j<=n;j++)
				if (matrix[i][j]) cols[i].push_back(j);
		}

		long long sum = 0;

		for (int i=1;i<=n;i++){
			for (int j=1;j<i;j++){
				vector<int> v(200);
				vector<int>::iterator logical_end;
				logical_end = set_intersection(cols[i].begin(), cols[i].end(), cols[j].begin(), cols[j].end(), v.begin());
				int num = logical_end - v.begin();
				long long nnum = num;
				sum += (nnum * (nnum-1)) / 2;		
			}
		}
		
		printf("%lld\n", sum);
	}

	return 0;
}
