// Arup Guha
// 2/25/2017
// Solution to 2016 December USACO Platinum Problem: Lots of Triangles

import java.util.*;
import java.io.*;

public class triangles {

	public static int n;
	public static pt[] pts;

	public static void main(String[] args) throws Exception {

		// Read in points and sort by x.
		Scanner stdin = new Scanner(new File("triangles.in"));
		n = stdin.nextInt();
		pts = new pt[n];
		for (int i=0; i<n; i++) {
			int x = stdin.nextInt();
			int y = stdin.nextInt();
			pts[i] = new pt(x,y);
		}
		Arrays.sort(pts);

		// below[i][j] Store # of pts below line segment from pt i to pt j.
		int[][] below = new int[n][n];

		// Go through each line segment.
		for (int i=0; i<n; i++) {

			for (int j=i+1; j<n; j++) {

				// Look at each pt below this line segment.
				for (int k=i+1; k<j; k++) {

					// Add if below.
					long vx1 = pts[j].x - pts[k].x;
					long vy1 = pts[j].y - pts[k].y;
					long vx2 = pts[i].x - pts[k].x;
					long vy2 = pts[i].y - pts[k].y;
					if (vx1*vy2 - vx2*vy1 > 0) below[i][j]++;
				}
			}
		}

		// Store result here.
		int[] freq = new int[n-2];

		// Go through each triangle.
		for (int i=0; i<n; i++) {
			for (int j=i+1; j<n; j++) {
				for (int k=j+1; k<n; k++) {

					// Answer is this or negative, depending on orientation of triangle.
					int res = below[i][k]-below[i][j]-below[j][k];

					// If it's positive, this means that we've included the bottom pt of the triangle, sub it out.
					if (res > 0)
						res--;

					// In this case, we are fine, just flip the answer.
					else if (res < 0)
						res = -res;

					// Add it.
					freq[res]++;
				}
			}
		}

		// Here is our result.
		PrintWriter out = new PrintWriter(new FileWriter("triangles.out"));
		for (int i=0; i<n-2; i++)
			out.println(freq[i]);
		out.close();
		stdin.close();
	}
}

class pt implements Comparable<pt> {

	public int x;
	public int y;

	public pt(int myx, int myy) {
		x = myx;
		y = myy;
	}

	public int compareTo(pt other) {
		return this.x - other.x;
	}
}