#include <stdio.h>
#include <string.h>

#define MAX (10000+1)

int a[MAX];

int main() {
	memset(a, 0, sizeof(a));

	for (int i=0; i*i < MAX; i++) {
		fprintf(stderr, "# %d\n", i);
		for (int j=i; i*i+j*j < MAX; j++) {
			for (int k=j; i*i+j*j+k*k < MAX; k++) {
				for (int l=k; i*i+j*j+k*k+l*l < MAX; l++) {
					int n = i*i+j*j+k*k+l*l;
					int v = i*j*k*l;
					if (a[n] < v) {
						a[n] = v;
					}
				}
			}
		}
	}

	for (int n=0; n < MAX; n++) {
		printf("%d %d\n", n, a[n]);
	}

	return 0;
}