#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; }