// Author: Adrian Kuegel
// Date: 10. 6. 2007
// Algorithm: brute force
// Complexity: O(n^3)

#include <stdio.h>

int main() {
	for (int s=4; s<=2000; ++s) {
		int prod = 1000000 * s;
		for (int i=1; i<=(s>>2); ++i) {
			if (prod%i)
				continue;
			prod /= i;
			int k = (s>>1)-i;
			int l = s-(i<<1)-k;
			for (int j=i; j<=k; ++j,--l) {
				if (l < k) {
					++l;
					--k;
				}
				if (prod%j)
					continue;
				prod /= j;
				// this loop runs amortized in O(1)
				// k decreases at most s/2 - 2*i times
				while(k>j && k*l > prod) {
					++l;
					--k;
				}
				if (k*l == prod)
					printf("%.2f %.2f %.2f %.2f\n",0.01*i,0.01*j,0.01*k,0.01*l);
				prod *= j;
			}
			prod *= i;
		}
	}
	return 0;
}
