#include <cstdio> void print_partitions(int sum_val, int n) { int pos = 0, last = n - 1; int a[n]; // dynamic stack-allocated arrays are a gcc extension for (int i = 1; i != n; ++i) a[i] = 0; a[0] = sum_val; while (true) { for (int i = 0; i != last; ++i) printf("%3d ", a[i]); printf("%3d\n", a[last]); if (pos != last) { --a[pos]; ++pos; a[pos] = 1; } else { if (a[last] == sum_val) return; for (--pos; a[pos] == 0; --pos); --a[pos]; int tmp = 1 + a[last]; ++pos; a[last] = 0; a[pos] = tmp; } } } int main() { print_partitions(12, 5); return 0; }
Standard input is empty
12 0 0 0 0 11 1 0 0 0 11 0 1 0 0 11 0 0 1 0 11 0 0 0 1 10 2 0 0 0 10 1 1 0 0 10 1 0 1 0 10 1 0 0 1 10 0 2 0 0 10 0 1 1 0 10 0 1 0 1 10 0 0 2 0 10 0 0 1 1 10 0 0 0 2 9 3 0 0 0 9 2 1 0 0 9 2 0 1 0 9 2 0 0 1 9 1 2 0 0 9 1 1 1 0 9 1 1 0 1 9 1 0 2 0 9 1 0 1 1 9 1 0 0 2 9 0 3 0 0 9 0 2 1 0 9 0 2 0 1 9 0 1 2 0 9 0 1 1 1 9 0 1 0 2 9 0 0 3 0 9 0 0 2 1 9 0 0 1 2 9 0 0 0 3 8 4 0 0 0 8 3 1 0 0 8 3 0 1 0 8 3 0 0 1 8 2 2 0 0 8 2 1 1 0 8 2 1 0 1 8 2 0 2 0 8 2 0 1 1 8 2 0 0 2 8 1 3 0 0 8 1 2 1 0 8 1 2 0 1 8 1 1 2 0 8 1 1 1 1 8 1 1 0 2 8 1 0 3 0 8 1 0 2 1 8 1 0 1 2 8 1 0 0 3 8 0 4 0 0 8 0 3 1 0 8 0 3 0 1 8 0 2 2 0 8 0 2 1 1 8 0 2 0 2 8 0 1 3 0 8 0 1 2 1 8 0 1 1 2 8 0 1 0 3 8 0 0 4 0 8 0 0 3 1 8 0 0 2 2 8 0 0 1 3 8 0 0 0 4 7 5 0 0 0 7 4 1 0 0 7 4 0 1 0 7 4 0 0 1 7 3 2 0 0 7 3 1 1 0 7 3 1 0 1 7 3 0 2 0 7 3 0 1 1 7 3 0 0 2 7 2 3 0 0 7 2 2 1 0 7 2 2 0 1 7 2 1 2 0 7 2 1 1 1 7 2 1 0 2 7 2 0 3 0 7 2 0 2 1 7 2 0 1 2 7 2 0 0 3 7 1 4 0 0 7 1 3 1 0 7 1 3 0 1 7 1 2 2 0 7 1 2 1 1 7 1 2 0 2 7 1 1 3 0 7 1 1 2 1 7 1 1 1 2 7 1 1 0 3 7 1 0 4 0 7 1 0 3 1 7 1 0 2 2 7 1 0 1 3 7 1 0 0 4 7 0 5 0 0 7 0 4 1 0 7 0 4 0 1 7 0 3 2 0 7 0 3 1 1 7 0 3 0 2 7 0 2 3 0 7 0 2 2 1 7 0 2 1 2 7 0 2 0 3 7 0 1 4 0 7 0 1 3 1 7 0 1 2 2 7 0 1 1 3 7 0 1 0 4 7 0 0 5 0 7 0 0 4 1 7 0 0 3 2 7 0 0 2 3 7 0 0 1 4 7 0 0 0 5 6 6 0 0 0 6 5 1 0 0 6 5 0 1 0 6 5 0 0 1 6 4 2 0 0 6 4 1 1 0 6 4 1 0 1 6 4 0 2 0 6 4 0 1 1 6 4 0 0 2 6 3 3 0 0 6 3 2 1 0 6 3 2 0 1 6 3 1 2 0 6 3 1 1 1 6 3 1 0 2 6 3 0 3 0 6 3 0 2 1 6 3 0 1 2 6 3 0 0 3 6 2 4 0 0 6 2 3 1 0 6 2 3 0 1 6 2 2 2 0 6 2 2 1 1 6 2 2 0 2 6 2 1 3 0 6 2 1 2 1 6 2 1 1 2 6 2 1 0 3 6 2 0 4 0 6 2 0 3 1 6 2 0 2 2 6 2 0 1 3 6 2 0 0 4 6 1 5 0 0 6 1 4 1 0 6 1 4 0 1 6 1 3 2 0 6 1 3 1 1 6 1 3 0 2 6 1 2 3 0 6 1 2 2 1 6 1 2 1 2 6 1 2 0 3 6 1 1 4 0 6 1 1 3 1 6 1 1 2 2 6 1 1 1 3 6 1 1 0 4 6 1 0 5 0 6 1 0 4 1 6 1 0 3 2 6 1 0 2 3 6 1 0 1 4 6 1 0 0 5 6 0 6 0 0 6 0 5 1 0 6 0 5 0 1 6 0 4 2 0 6 0 4 1 1 6 0 4 0 2 6 0 3 3 0 6 0 3 2 1 6 0 3 1 2 6 0 3 0 3 6 0 2 4 0 6 0 2 3 1 6 0 2 2 2 6 0 2 1 3 6 0 2 0 4 6 0 1 5 0 6 0 1 4 1 6 0 1 3 2 6 0 1 2 3 6 0 1 1 4 6 0 1 0 5 6 0 0 6 0 6 0 0 5 1 6 0 0 4 2 6 0 0 3 3 6 0 0 2 4 6 0 0 1 5 6 0 0 0 6 5 7 0 0 0 5 6 1 0 0 5 6 0 1 0 5 6 0 0 1 5 5 2 0 0 5 5 1 1 0 5 5 1 0 1 5 5 0 2 0 5 5 0 1 1 5 5 0 0 2 5 4 3 0 0 5 4 2 1 0 5 4 2 0 1 5 4 1 2 0 5 4 1 1 1 5 4 1 0 2 5 4 0 3 0 5 4 0 2 1 5 4 0 1 2 5 4 0 0 3 5 3 4 0 0 5 3 3 1 0 5 3 3 0 1 5 3 2 2 0 5 3 2 1 1 5 3 2 0 2 5 3 1 3 0 5 3 1 2 1 5 3 1 1 2 5 3 1 0 3 5 3 0 4 0 5 3 0 3 1 5 3 0 2 2 5 3 0 1 3 5 3 0 0 4 5 2 5 0 0 5 2 4 1 0 5 2 4 0 1 5 2 3 2 0 5 2 3 1 1 5 2 3 0 2 5 2 2 3 0 5 2 2 2 1 5 2 2 1 2 5 2 2 0 3 5 2 1 4 0 5 2 1 3 1 5 2 1 2 2 5 2 1 1 3 5 2 1 0 4 5 2 0 5 0 5 2 0 4 1 5 2 0 3 2 5 2 0 2 3 5 2 0 1 4 5 2 0 0 5 5 1 6 0 0 5 1 5 1 0 5 1 5 0 1 5 1 4 2 0 5 1 4 1 1 5 1 4 0 2 5 1 3 3 0 5 1 3 2 1 5 1 3 1 2 5 1 3 0 3 5 1 2 4 0 5 1 2 3 1 5 1 2 2 2 5 1 2 1 3 5 1 2 0 4 5 1 1 5 0 5 1 1 4 1 5 1 1 3 2 5 1 1 2 3 5 1 1 1 4 5 1 1 0 5 5 1 0 6 0 5 1 0 5 1 5 1 0 4 2 5 1 0 3 3 5 1 0 2 4 5 1 0 1 5 5 1 0 0 6 5 0 7 0 0 5 0 6 1 0 5 0 6 0 1 5 0 5 2 0 5 0 5 1 1 5 0 5 0 2 5 0 4 3 0 5 0 4 2 1 5 0 4 1 2 5 0 4 0 3 5 0 3 4 0 5 0 3 3 1 5 0 3 2 2 5 0 3 1 3 5 0 3 0 4 5 0 2 5 0 5 0 2 4 1 5 0 2 3 2 5 0 2 2 3 5 0 2 1 4 5 0 2 0 5 5 0 1 6 0 5 0 1 5 1 5 0 1 4 2 5 0 1 3 3 5 0 1 2 4 5 0 1 1 5 5 0 1 0 6 5 0 0 7 0 5 0 0 6 1 5 0 0 5 2 5 0 0 4 3 5 0 0 3 4 5 0 0 2 5 5 0 0 1 6 5 0 0 0 7 4 8 0 0 0 4 7 1 0 0 4 7 0 1 0 4 7 0 0 1 4 6 2 0 0 4 6 1 1 0 4 6 1 0 1 4 6 0 2 0 4 6 0 1 1 4 6 0 0 2 4 5 3 0 0 4 5 2 1 0 4 5 2 0 1 4 5 1 2 0 4 5 1 1 1 4 5 1 0 2 4 5 0 3 0 4 5 0 2 1 4 5 0 1 2 4 5 0 0 3 4 4 4 0 0 4 4 3 1 0 4 4 3 0 1 4 4 2 2 0 4 4 2 1 1 4 4 2 0 2 4 4 1 3 0 4 4 1 2 1 4 4 1 1 2 4 4 1 0 3 4 4 0 4 0 4 4 0 3 1 4 4 0 2 2 4 4 0 1 3 4 4 0 0 4 4 3 5 0 0 4 3 4 1 0 4 3 4 0 1 4 3 3 2 0 4 3 3 1 1 4 3 3 0 2 4 3 2 3 0 4 3 2 2 1 4 3 2 1 2 4 3 2 0 3 4 3 1 4 0 4 3 1 3 1 4 3 1 2 2 4 3 1 1 3 4 3 1 0 4 4 3 0 5 0 4 3 0 4 1 4 3 0 3 2 4 3 0 2 3 4 3 0 1 4 4 3 0 0 5 4 2 6 0 0 4 2 5 1 0 4 2 5 0 1 4 2 4 2 0 4 2 4 1 1 4 2 4 0 2 4 2 3 3 0 4 2 3 2 1 4 2 3 1 2 4 2 3 0 3 4 2 2 4 0 4 2 2 3 1 4 2 2 2 2 4 2 2 1 3 4 2 2 0 4 4 2 1 5 0 4 2 1 4 1 4 2 1 3 2 4 2 1 2 3 4 2 1 1 4 4 2 1 0 5 4 2 0 6 0 4 2 0 5 1 4 2 0 4 2 4 2 0 3 3 4 2 0 2 4 4 2 0 1 5 4 2 0 0 6 4 1 7 0 0 4 1 6 1 0 4 1 6 0 1 4 1 5 2 0 4 1 5 1 1 4 1 5 0 2 4 1 4 3 0 4 1 4 2 1 4 1 4 1 2 4 1 4 0 3 4 1 3 4 0 4 1 3 3 1 4 1 3 2 2 4 1 3 1 3 4 1 3 0 4 4 1 2 5 0 4 1 2 4 1 4 1 2 3 2 4 1 2 2 3 4 1 2 1 4 4 1 2 0 5 4 1 1 6 0 4 1 1 5 1 4 1 1 4 2 4 1 1 3 3 4 1 1 2 4 4 1 1 1 5 4 1 1 0 6 4 1 0 7 0 4 1 0 6 1 4 1 0 5 2 4 1 0 4 3 4 1 0 3 4 4 1 0 2 5 4 1 0 1 6 4 1 0 0 7 4 0 8 0 0 4 0 7 1 0 4 0 7 0 1 4 0 6 2 0 4 0 6 1 1 4 0 6 0 2 4 0 5 3 0 4 0 5 2 1 4 0 5 1 2 4 0 5 0 3 4 0 4 4 0 4 0 4 3 1 4 0 4 2 2 4 0 4 1 3 4 0 4 0 4 4 0 3 5 0 4 0 3 4 1 4 0 3 3 2 4 0 3 2 3 4 0 3 1 4 4 0 3 0 5 4 0 2 6 0 4 0 2 5 1 4 0 2 4 2 4 0 2 3 3 4 0 2 2 4 4 0 2 1 5 4 0 2 0 6 4 0 1 7 0 4 0 1 6 1 4 0 1 5 2 4 0 1 4 3 4 0 1 3 4 4 0 1 2 5 4 0 1 1 6 4 0 1 0 7 4 0 0 8 0 4 0 0 7 1 4 0 0 6 2 4 0 0 5 3 4 0 0 4 4 4 0 0 3 5 4 0 0 2 6 4 0 0 1 7 4 0 0 0 8 3 9 0 0 0 3 8 1 0 0 3 8 0 1 0 3 8 0 0 1 3 7 2 0 0 3 7 1 1 0 3 7 1 0 1 3 7 0 2 0 3 7 0 1 1 3 7 0 0 2 3 6 3 0 0 3 6 2 1 0 3 6 2 0 1 3 6 1 2 0 3 6 1 1 1 3 6 1 0 2 3 6 0 3 0 3 6 0 2 1 3 6 0 1 2 3 6 0 0 3 3 5 4 0 0 3 5 3 1 0 3 5 3 0 1 3 5 2 2 0 3 5 2 1 1 3 5 2 0 2 3 5 1 3 0 3 5 1 2 1 3 5 1 1 2 3 5 1 0 3 3 5 0 4 0 3 5 0 3 1 3 5 0 2 2 3 5 0 1 3 3 5 0 0 4 3 4 5 0 0 3 4 4 1 0 3 4 4 0 1 3 4 3 2 0 3 4 3 1 1 3 4 3 0 2 3 4 2 3 0 3 4 2 2 1 3 4 2 1 2 3 4 2 0 3 3 4 1 4 0 3 4 1 3 1 3 4 1 2 2 3 4 1 1 3 3 4 1 0 4 3 4 0 5 0 3 4 0 4 1 3 4 0 3 2 3 4 0 2 3 3 4 0 1 4 3 4 0 0 5 3 3 6 0 0 3 3 5 1 0 3 3 5 0 1 3 3 4 2 0 3 3 4 1 1 3 3 4 0 2 3 3 3 3 0 3 3 3 2 1 3 3 3 1 2 3 3 3 0 3 3 3 2 4 0 3 3 2 3 1 3 3 2 2 2 3 3 2 1 3 3 3 2 0 4 3 3 1 5 0 3 3 1 4 1 3 3 1 3 2 3 3 1 2 3 3 3 1 1 4 3 3 1 0 5 3 3 0 6 0 3 3 0 5 1 3 3 0 4 2 3 3 0 3 3 3 3 0 2 4 3 3 0 1 5 3 3 0 0 6 3 2 7 0 0 3 2 6 1 0 3 2 6 0 1 3 2 5 2 0 3 2 5 1 1 3 2 5 0 2 3 2 4 3 0 3 2 4 2 1 3 2 4 1 2 3 2 4 0 3 3 2 3 4 0 3 2 3 3 1 3 2 3 2 2 3 2 3 1 3 3 2 3 0 4 3 2 2 5 0 3 2 2 4 1 3 2 2 3 2 3 2 2 2 3 3 2 2 1 4 3 2 2 0 5 3 2 1 6 0 3 2 1 5 1 3 2 1 4 2 3 2 1 3 3 3 2 1 2 4 3 2 1 1 5 3 2 1 0 6 3 2 0 7 0 3 2 0 6 1 3 2 0 5 2 3 2 0 4 3 3 2 0 3 4 3 2 0 2 5 3 2 0 1 6 3 2 0 0 7 3 1 8 0 0 3 1 7 1 0 3 1 7 0 1 3 1 6 2 0 3 1 6 1 1 3 1 6 0 2 3 1 5 3 0 3 1 5 2 1 3 1 5 1 2 3 1 5 0 3 3 1 4 4 0 3 1 4 3 1 3 1 4 2 2 3 1 4 1 3 3 1 4 0 4 3 1 3 5 0 3 1 3 4 1 3 1 3 3 2 3 1 3 2 3 3 1 3 1 4 3 1 3 0 5 3 1 2 6 0 3 1 2 5 1 3 1 2 4 2 3 1 2 3 3 3 1 2 2 4 3 1 2 1 5 3 1 2 0 6 3 1 1 7 0 3 1 1 6 1 3 1 1 5 2 3 1 1 4 3 3 1 1 3 4 3 1 1 2 5 3 1 1 1 6 3 1 1 0 7 3 1 0 8 0 3 1 0 7 1 3 1 0 6 2 3 1 0 5 3 3 1 0 4 4 3 1 0 3 5 3 1 0 2 6 3 1 0 1 7 3 1 0 0 8 3 0 9 0 0 3 0 8 1 0 3 0 8 0 1 3 0 7 2 0 3 0 7 1 1 3 0 7 0 2 3 0 6 3 0 3 0 6 2 1 3 0 6 1 2 3 0 6 0 3 3 0 5 4 0 3 0 5 3 1 3 0 5 2 2 3 0 5 1 3 3 0 5 0 4 3 0 4 5 0 3 0 4 4 1 3 0 4 3 2 3 0 4 2 3 3 0 4 1 4 3 0 4 0 5 3 0 3 6 0 3 0 3 5 1 3 0 3 4 2 3 0 3 3 3 3 0 3 2 4 3 0 3 1 5 3 0 3 0 6 3 0 2 7 0 3 0 2 6 1 3 0 2 5 2 3 0 2 4 3 3 0 2 3 4 3 0 2 2 5 3 0 2 1 6 3 0 2 0 7 3 0 1 8 0 3 0 1 7 1 3 0 1 6 2 3 0 1 5 3 3 0 1 4 4 3 0 1 3 5 3 0 1 2 6 3 0 1 1 7 3 0 1 0 8 3 0 0 9 0 3 0 0 8 1 3 0 0 7 2 3 0 0 6 3 3 0 0 5 4 3 0 0 4 5 3 0 0 3 6 3 0 0 2 7 3 0 0 1 8 3 0 0 0 9 2 10 0 0 0 2 9 1 0 0 2 9 0 1 0 2 9 0 0 1 2 8 2 0 0 2 8 1 1 0 2 8 1 0 1 2 8 0 2 0 2 8 0 1 1 2 8 0 0 2 2 7 3 0 0 2 7 2 1 0 2 7 2 0 1 2 7 1 2 0 2 7 1 1 1 2 7 1 0 2 2 7 0 3 0 2 7 0 2 1 2 7 0 1 2 2 7 0 0 3 2 6 4 0 0 2 6 3 1 0 2 6 3 0 1 2 6 2 2 0 2 6 2 1 1 2 6 2 0 2 2 6 1 3 0 2 6 1 2 1 2 6 1 1 2 2 6 1 0 3 2 6 0 4 0 2 6 0 3 1 2 6 0 2 2 2 6 0 1 3 2 6 0 0 4 2 5 5 0 0 2 5 4 1 0 2 5 4 0 1 2 5 3 2 0 2 5 3 1 1 2 5 3 0 2 2 5 2 3 0 2 5 2 2 1 2 5 2 1 2 2 5 2 0 3 2 5 1 4 0 2 5 1 3 1 2 5 1 2 2 2 5 1 1 3 2 5 1 0 4 2 5 0 5 0 2 5 0 4 1 2 5 0 3 2 2 5 0 2 3 2 5 0 1 4 2 5 0 0 5 2 4 6 0 0 2 4 5 1 0 2 4 5 0 1 2 4 4 2 0 2 4 4 1 1 2 4 4 0 2 2 4 3 3 0 2 4 3 2 1 2 4 3 1 2 2 4 3 0 3 2 4 2 4 0 2 4 2 3 1 2 4 2 2 2 2 4 2 1 3 2 4 2 0 4 2 4 1 5 0 2 4 1 4 1 2 4 1 3 2 2 4 1 2 3 2 4 1 1 4 2 4 1 0 5 2 4 0 6 0 2 4 0 5 1 2 4 0 4 2 2 4 0 3 3 2 4 0 2 4 2 4 0 1 5 2 4 0 0 6 2 3 7 0 0 2 3 6 1 0 2 3 6 0 1 2 3 5 2 0 2 3 5 1 1 2 3 5 0 2 2 3 4 3 0 2 3 4 2 1 2 3 4 1 2 2 3 4 0 3 2 3 3 4 0 2 3 3 3 1 2 3 3 2 2 2 3 3 1 3 2 3 3 0 4 2 3 2 5 0 2 3 2 4 1 2 3 2 3 2 2 3 2 2 3 2 3 2 1 4 2 3 2 0 5 2 3 1 6 0 2 3 1 5 1 2 3 1 4 2 2 3 1 3 3 2 3 1 2 4 2 3 1 1 5 2 3 1 0 6 2 3 0 7 0 2 3 0 6 1 2 3 0 5 2 2 3 0 4 3 2 3 0 3 4 2 3 0 2 5 2 3 0 1 6 2 3 0 0 7 2 2 8 0 0 2 2 7 1 0 2 2 7 0 1 2 2 6 2 0 2 2 6 1 1 2 2 6 0 2 2 2 5 3 0 2 2 5 2 1 2 2 5 1 2 2 2 5 0 3 2 2 4 4 0 2 2 4 3 1 2 2 4 2 2 2 2 4 1 3 2 2 4 0 4 2 2 3 5 0 2 2 3 4 1 2 2 3 3 2 2 2 3 2 3 2 2 3 1 4 2 2 3 0 5 2 2 2 6 0 2 2 2 5 1 2 2 2 4 2 2 2 2 3 3 2 2 2 2 4 2 2 2 1 5 2 2 2 0 6 2 2 1 7 0 2 2 1 6 1 2 2 1 5 2 2 2 1 4 3 2 2 1 3 4 2 2 1 2 5 2 2 1 1 6 2 2 1 0 7 2 2 0 8 0 2 2 0 7 1 2 2 0 6 2 2 2 0 5 3 2 2 0 4 4 2 2 0 3 5 2 2 0 2 6 2 2 0 1 7 2 2 0 0 8 2 1 9 0 0 2 1 8 1 0 2 1 8 0 1 2 1 7 2 0 2 1 7 1 1 2 1 7 0 2 2 1 6 3 0 2 1 6 2 1 2 1 6 1 2 2 1 6 0 3 2 1 5 4 0 2 1 5 3 1 2 1 5 2 2 2 1 5 1 3 2 1 5 0 4 2 1 4 5 0 2 1 4 4 1 2 1 4 3 2 2 1 4 2 3 2 1 4 1 4 2 1 4 0 5 2 1 3 6 0 2 1 3 5 1 2 1 3 4 2 2 1 3 3 3 2 1 3 2 4 2 1 3 1 5 2 1 3 0 6 2 1 2 7 0 2 1 2 6 1 2 1 2 5 2 2 1 2 4 3 2 1 2 3 4 2 1 2 2 5 2 1 2 1 6 2 1 2 0 7 2 1 1 8 0 2 1 1 7 1 2 1 1 6 2 2 1 1 5 3 2 1 1 4 4 2 1 1 3 5 2 1 1 2 6 2 1 1 1 7 2 1 1 0 8 2 1 0 9 0 2 1 0 8 1 2 1 0 7 2 2 1 0 6 3 2 1 0 5 4 2 1 0 4 5 2 1 0 3 6 2 1 0 2 7 2 1 0 1 8 2 1 0 0 9 2 0 10 0 0 2 0 9 1 0 2 0 9 0 1 2 0 8 2 0 2 0 8 1 1 2 0 8 0 2 2 0 7 3 0 2 0 7 2 1 2 0 7 1 2 2 0 7 0 3 2 0 6 4 0 2 0 6 3 1 2 0 6 2 2 2 0 6 1 3 2 0 6 0 4 2 0 5 5 0 2 0 5 4 1 2 0 5 3 2 2 0 5 2 3 2 0 5 1 4 2 0 5 0 5 2 0 4 6 0 2 0 4 5 1 2 0 4 4 2 2 0 4 3 3 2 0 4 2 4 2 0 4 1 5 2 0 4 0 6 2 0 3 7 0 2 0 3 6 1 2 0 3 5 2 2 0 3 4 3 2 0 3 3 4 2 0 3 2 5 2 0 3 1 6 2 0 3 0 7 2 0 2 8 0 2 0 2 7 1 2 0 2 6 2 2 0 2 5 3 2 0 2 4 4 2 0 2 3 5 2 0 2 2 6 2 0 2 1 7 2 0 2 0 8 2 0 1 9 0 2 0 1 8 1 2 0 1 7 2 2 0 1 6 3 2 0 1 5 4 2 0 1 4 5 2 0 1 3 6 2 0 1 2 7 2 0 1 1 8 2 0 1 0 9 2 0 0 10 0 2 0 0 9 1 2 0 0 8 2 2 0 0 7 3 2 0 0 6 4 2 0 0 5 5 2 0 0 4 6 2 0 0 3 7 2 0 0 2 8 2 0 0 1 9 2 0 0 0 10 1 11 0 0 0 1 10 1 0 0 1 10 0 1 0 1 10 0 0 1 1 9 2 0 0 1 9 1 1 0 1 9 1 0 1 1 9 0 2 0 1 9 0 1 1 1 9 0 0 2 1 8 3 0 0 1 8 2 1 0 1 8 2 0 1 1 8 1 2 0 1 8 1 1 1 1 8 1 0 2 1 8 0 3 0 1 8 0 2 1 1 8 0 1 2 1 8 0 0 3 1 7 4 0 0 1 7 3 1 0 1 7 3 0 1 1 7 2 2 0 1 7 2 1 1 1 7 2 0 2 1 7 1 3 0 1 7 1 2 1 1 7 1 1 2 1 7 1 0 3 1 7 0 4 0 1 7 0 3 1 1 7 0 2 2 1 7 0 1 3 1 7 0 0 4 1 6 5 0 0 1 6 4 1 0 1 6 4 0 1 1 6 3 2 0 1 6 3 1 1 1 6 3 0 2 1 6 2 3 0 1 6 2 2 1 1 6 2 1 2 1 6 2 0 3 1 6 1 4 0 1 6 1 3 1 1 6 1 2 2 1 6 1 1 3 1 6 1 0 4 1 6 0 5 0 1 6 0 4 1 1 6 0 3 2 1 6 0 2 3 1 6 0 1 4 1 6 0 0 5 1 5 6 0 0 1 5 5 1 0 1 5 5 0 1 1 5 4 2 0 1 5 4 1 1 1 5 4 0 2 1 5 3 3 0 1 5 3 2 1 1 5 3 1 2 1 5 3 0 3 1 5 2 4 0 1 5 2 3 1 1 5 2 2 2 1 5 2 1 3 1 5 2 0 4 1 5 1 5 0 1 5 1 4 1 1 5 1 3 2 1 5 1 2 3 1 5 1 1 4 1 5 1 0 5 1 5 0 6 0 1 5 0 5 1 1 5 0 4 2 1 5 0 3 3 1 5 0 2 4 1 5 0 1 5 1 5 0 0 6 1 4 7 0 0 1 4 6 1 0 1 4 6 0 1 1 4 5 2 0 1 4 5 1 1 1 4 5 0 2 1 4 4 3 0 1 4 4 2 1 1 4 4 1 2 1 4 4 0 3 1 4 3 4 0 1 4 3 3 1 1 4 3 2 2 1 4 3 1 3 1 4 3 0 4 1 4 2 5 0 1 4 2 4 1 1 4 2 3 2 1 4 2 2 3 1 4 2 1 4 1 4 2 0 5 1 4 1 6 0 1 4 1 5 1 1 4 1 4 2 1 4 1 3 3 1 4 1 2 4 1 4 1 1 5 1 4 1 0 6 1 4 0 7 0 1 4 0 6 1 1 4 0 5 2 1 4 0 4 3 1 4 0 3 4 1 4 0 2 5 1 4 0 1 6 1 4 0 0 7 1 3 8 0 0 1 3 7 1 0 1 3 7 0 1 1 3 6 2 0 1 3 6 1 1 1 3 6 0 2 1 3 5 3 0 1 3 5 2 1 1 3 5 1 2 1 3 5 0 3 1 3 4 4 0 1 3 4 3 1 1 3 4 2 2 1 3 4 1 3 1 3 4 0 4 1 3 3 5 0 1 3 3 4 1 1 3 3 3 2 1 3 3 2 3 1 3 3 1 4 1 3 3 0 5 1 3 2 6 0 1 3 2 5 1 1 3 2 4 2 1 3 2 3 3 1 3 2 2 4 1 3 2 1 5 1 3 2 0 6 1 3 1 7 0 1 3 1 6 1 1 3 1 5 2 1 3 1 4 3 1 3 1 3 4 1 3 1 2 5 1 3 1 1 6 1 3 1 0 7 1 3 0 8 0 1 3 0 7 1 1 3 0 6 2 1 3 0 5 3 1 3 0 4 4 1 3 0 3 5 1 3 0 2 6 1 3 0 1 7 1 3 0 0 8 1 2 9 0 0 1 2 8 1 0 1 2 8 0 1 1 2 7 2 0 1 2 7 1 1 1 2 7 0 2 1 2 6 3 0 1 2 6 2 1 1 2 6 1 2 1 2 6 0 3 1 2 5 4 0 1 2 5 3 1 1 2 5 2 2 1 2 5 1 3 1 2 5 0 4 1 2 4 5 0 1 2 4 4 1 1 2 4 3 2 1 2 4 2 3 1 2 4 1 4 1 2 4 0 5 1 2 3 6 0 1 2 3 5 1 1 2 3 4 2 1 2 3 3 3 1 2 3 2 4 1 2 3 1 5 1 2 3 0 6 1 2 2 7 0 1 2 2 6 1 1 2 2 5 2 1 2 2 4 3 1 2 2 3 4 1 2 2 2 5 1 2 2 1 6 1 2 2 0 7 1 2 1 8 0 1 2 1 7 1 1 2 1 6 2 1 2 1 5 3 1 2 1 4 4 1 2 1 3 5 1 2 1 2 6 1 2 1 1 7 1 2 1 0 8 1 2 0 9 0 1 2 0 8 1 1 2 0 7 2 1 2 0 6 3 1 2 0 5 4 1 2 0 4 5 1 2 0 3 6 1 2 0 2 7 1 2 0 1 8 1 2 0 0 9 1 1 10 0 0 1 1 9 1 0 1 1 9 0 1 1 1 8 2 0 1 1 8 1 1 1 1 8 0 2 1 1 7 3 0 1 1 7 2 1 1 1 7 1 2 1 1 7 0 3 1 1 6 4 0 1 1 6 3 1 1 1 6 2 2 1 1 6 1 3 1 1 6 0 4 1 1 5 5 0 1 1 5 4 1 1 1 5 3 2 1 1 5 2 3 1 1 5 1 4 1 1 5 0 5 1 1 4 6 0 1 1 4 5 1 1 1 4 4 2 1 1 4 3 3 1 1 4 2 4 1 1 4 1 5 1 1 4 0 6 1 1 3 7 0 1 1 3 6 1 1 1 3 5 2 1 1 3 4 3 1 1 3 3 4 1 1 3 2 5 1 1 3 1 6 1 1 3 0 7 1 1 2 8 0 1 1 2 7 1 1 1 2 6 2 1 1 2 5 3 1 1 2 4 4 1 1 2 3 5 1 1 2 2 6 1 1 2 1 7 1 1 2 0 8 1 1 1 9 0 1 1 1 8 1 1 1 1 7 2 1 1 1 6 3 1 1 1 5 4 1 1 1 4 5 1 1 1 3 6 1 1 1 2 7 1 1 1 1 8 1 1 1 0 9 1 1 0 10 0 1 1 0 9 1 1 1 0 8 2 1 1 0 7 3 1 1 0 6 4 1 1 0 5 5 1 1 0 4 6 1 1 0 3 7 1 1 0 2 8 1 1 0 1 9 1 1 0 0 10 1 0 11 0 0 1 0 10 1 0 1 0 10 0 1 1 0 9 2 0 1 0 9 1 1 1 0 9 0 2 1 0 8 3 0 1 0 8 2 1 1 0 8 1 2 1 0 8 0 3 1 0 7 4 0 1 0 7 3 1 1 0 7 2 2 1 0 7 1 3 1 0 7 0 4 1 0 6 5 0 1 0 6 4 1 1 0 6 3 2 1 0 6 2 3 1 0 6 1 4 1 0 6 0 5 1 0 5 6 0 1 0 5 5 1 1 0 5 4 2 1 0 5 3 3 1 0 5 2 4 1 0 5 1 5 1 0 5 0 6 1 0 4 7 0 1 0 4 6 1 1 0 4 5 2 1 0 4 4 3 1 0 4 3 4 1 0 4 2 5 1 0 4 1 6 1 0 4 0 7 1 0 3 8 0 1 0 3 7 1 1 0 3 6 2 1 0 3 5 3 1 0 3 4 4 1 0 3 3 5 1 0 3 2 6 1 0 3 1 7 1 0 3 0 8 1 0 2 9 0 1 0 2 8 1 1 0 2 7 2 1 0 2 6 3 1 0 2 5 4 1 0 2 4 5 1 0 2 3 6 1 0 2 2 7 1 0 2 1 8 1 0 2 0 9 1 0 1 10 0 1 0 1 9 1 1 0 1 8 2 1 0 1 7 3 1 0 1 6 4 1 0 1 5 5 1 0 1 4 6 1 0 1 3 7 1 0 1 2 8 1 0 1 1 9 1 0 1 0 10 1 0 0 11 0 1 0 0 10 1 1 0 0 9 2 1 0 0 8 3 1 0 0 7 4 1 0 0 6 5 1 0 0 5 6 1 0 0 4 7 1 0 0 3 8 1 0 0 2 9 1 0 0 1 10 1 0 0 0 11 0 12 0 0 0 0 11 1 0 0 0 11 0 1 0 0 11 0 0 1 0 10 2 0 0 0 10 1 1 0 0 10 1 0 1 0 10 0 2 0 0 10 0 1 1 0 10 0 0 2 0 9 3 0 0 0 9 2 1 0 0 9 2 0 1 0 9 1 2 0 0 9 1 1 1 0 9 1 0 2 0 9 0 3 0 0 9 0 2 1 0 9 0 1 2 0 9 0 0 3 0 8 4 0 0 0 8 3 1 0 0 8 3 0 1 0 8 2 2 0 0 8 2 1 1 0 8 2 0 2 0 8 1 3 0 0 8 1 2 1 0 8 1 1 2 0 8 1 0 3 0 8 0 4 0 0 8 0 3 1 0 8 0 2 2 0 8 0 1 3 0 8 0 0 4 0 7 5 0 0 0 7 4 1 0 0 7 4 0 1 0 7 3 2 0 0 7 3 1 1 0 7 3 0 2 0 7 2 3 0 0 7 2 2 1 0 7 2 1 2 0 7 2 0 3 0 7 1 4 0 0 7 1 3 1 0 7 1 2 2 0 7 1 1 3 0 7 1 0 4 0 7 0 5 0 0 7 0 4 1 0 7 0 3 2 0 7 0 2 3 0 7 0 1 4 0 7 0 0 5 0 6 6 0 0 0 6 5 1 0 0 6 5 0 1 0 6 4 2 0 0 6 4 1 1 0 6 4 0 2 0 6 3 3 0 0 6 3 2 1 0 6 3 1 2 0 6 3 0 3 0 6 2 4 0 0 6 2 3 1 0 6 2 2 2 0 6 2 1 3 0 6 2 0 4 0 6 1 5 0 0 6 1 4 1 0 6 1 3 2 0 6 1 2 3 0 6 1 1 4 0 6 1 0 5 0 6 0 6 0 0 6 0 5 1 0 6 0 4 2 0 6 0 3 3 0 6 0 2 4 0 6 0 1 5 0 6 0 0 6 0 5 7 0 0 0 5 6 1 0 0 5 6 0 1 0 5 5 2 0 0 5 5 1 1 0 5 5 0 2 0 5 4 3 0 0 5 4 2 1 0 5 4 1 2 0 5 4 0 3 0 5 3 4 0 0 5 3 3 1 0 5 3 2 2 0 5 3 1 3 0 5 3 0 4 0 5 2 5 0 0 5 2 4 1 0 5 2 3 2 0 5 2 2 3 0 5 2 1 4 0 5 2 0 5 0 5 1 6 0 0 5 1 5 1 0 5 1 4 2 0 5 1 3 3 0 5 1 2 4 0 5 1 1 5 0 5 1 0 6 0 5 0 7 0 0 5 0 6 1 0 5 0 5 2 0 5 0 4 3 0 5 0 3 4 0 5 0 2 5 0 5 0 1 6 0 5 0 0 7 0 4 8 0 0 0 4 7 1 0 0 4 7 0 1 0 4 6 2 0 0 4 6 1 1 0 4 6 0 2 0 4 5 3 0 0 4 5 2 1 0 4 5 1 2 0 4 5 0 3 0 4 4 4 0 0 4 4 3 1 0 4 4 2 2 0 4 4 1 3 0 4 4 0 4 0 4 3 5 0 0 4 3 4 1 0 4 3 3 2 0 4 3 2 3 0 4 3 1 4 0 4 3 0 5 0 4 2 6 0 0 4 2 5 1 0 4 2 4 2 0 4 2 3 3 0 4 2 2 4 0 4 2 1 5 0 4 2 0 6 0 4 1 7 0 0 4 1 6 1 0 4 1 5 2 0 4 1 4 3 0 4 1 3 4 0 4 1 2 5 0 4 1 1 6 0 4 1 0 7 0 4 0 8 0 0 4 0 7 1 0 4 0 6 2 0 4 0 5 3 0 4 0 4 4 0 4 0 3 5 0 4 0 2 6 0 4 0 1 7 0 4 0 0 8 0 3 9 0 0 0 3 8 1 0 0 3 8 0 1 0 3 7 2 0 0 3 7 1 1 0 3 7 0 2 0 3 6 3 0 0 3 6 2 1 0 3 6 1 2 0 3 6 0 3 0 3 5 4 0 0 3 5 3 1 0 3 5 2 2 0 3 5 1 3 0 3 5 0 4 0 3 4 5 0 0 3 4 4 1 0 3 4 3 2 0 3 4 2 3 0 3 4 1 4 0 3 4 0 5 0 3 3 6 0 0 3 3 5 1 0 3 3 4 2 0 3 3 3 3 0 3 3 2 4 0 3 3 1 5 0 3 3 0 6 0 3 2 7 0 0 3 2 6 1 0 3 2 5 2 0 3 2 4 3 0 3 2 3 4 0 3 2 2 5 0 3 2 1 6 0 3 2 0 7 0 3 1 8 0 0 3 1 7 1 0 3 1 6 2 0 3 1 5 3 0 3 1 4 4 0 3 1 3 5 0 3 1 2 6 0 3 1 1 7 0 3 1 0 8 0 3 0 9 0 0 3 0 8 1 0 3 0 7 2 0 3 0 6 3 0 3 0 5 4 0 3 0 4 5 0 3 0 3 6 0 3 0 2 7 0 3 0 1 8 0 3 0 0 9 0 2 10 0 0 0 2 9 1 0 0 2 9 0 1 0 2 8 2 0 0 2 8 1 1 0 2 8 0 2 0 2 7 3 0 0 2 7 2 1 0 2 7 1 2 0 2 7 0 3 0 2 6 4 0 0 2 6 3 1 0 2 6 2 2 0 2 6 1 3 0 2 6 0 4 0 2 5 5 0 0 2 5 4 1 0 2 5 3 2 0 2 5 2 3 0 2 5 1 4 0 2 5 0 5 0 2 4 6 0 0 2 4 5 1 0 2 4 4 2 0 2 4 3 3 0 2 4 2 4 0 2 4 1 5 0 2 4 0 6 0 2 3 7 0 0 2 3 6 1 0 2 3 5 2 0 2 3 4 3 0 2 3 3 4 0 2 3 2 5 0 2 3 1 6 0 2 3 0 7 0 2 2 8 0 0 2 2 7 1 0 2 2 6 2 0 2 2 5 3 0 2 2 4 4 0 2 2 3 5 0 2 2 2 6 0 2 2 1 7 0 2 2 0 8 0 2 1 9 0 0 2 1 8 1 0 2 1 7 2 0 2 1 6 3 0 2 1 5 4 0 2 1 4 5 0 2 1 3 6 0 2 1 2 7 0 2 1 1 8 0 2 1 0 9 0 2 0 10 0 0 2 0 9 1 0 2 0 8 2 0 2 0 7 3 0 2 0 6 4 0 2 0 5 5 0 2 0 4 6 0 2 0 3 7 0 2 0 2 8 0 2 0 1 9 0 2 0 0 10 0 1 11 0 0 0 1 10 1 0 0 1 10 0 1 0 1 9 2 0 0 1 9 1 1 0 1 9 0 2 0 1 8 3 0 0 1 8 2 1 0 1 8 1 2 0 1 8 0 3 0 1 7 4 0 0 1 7 3 1 0 1 7 2 2 0 1 7 1 3 0 1 7 0 4 0 1 6 5 0 0 1 6 4 1 0 1 6 3 2 0 1 6 2 3 0 1 6 1 4 0 1 6 0 5 0 1 5 6 0 0 1 5 5 1 0 1 5 4 2 0 1 5 3 3 0 1 5 2 4 0 1 5 1 5 0 1 5 0 6 0 1 4 7 0 0 1 4 6 1 0 1 4 5 2 0 1 4 4 3 0 1 4 3 4 0 1 4 2 5 0 1 4 1 6 0 1 4 0 7 0 1 3 8 0 0 1 3 7 1 0 1 3 6 2 0 1 3 5 3 0 1 3 4 4 0 1 3 3 5 0 1 3 2 6 0 1 3 1 7 0 1 3 0 8 0 1 2 9 0 0 1 2 8 1 0 1 2 7 2 0 1 2 6 3 0 1 2 5 4 0 1 2 4 5 0 1 2 3 6 0 1 2 2 7 0 1 2 1 8 0 1 2 0 9 0 1 1 10 0 0 1 1 9 1 0 1 1 8 2 0 1 1 7 3 0 1 1 6 4 0 1 1 5 5 0 1 1 4 6 0 1 1 3 7 0 1 1 2 8 0 1 1 1 9 0 1 1 0 10 0 1 0 11 0 0 1 0 10 1 0 1 0 9 2 0 1 0 8 3 0 1 0 7 4 0 1 0 6 5 0 1 0 5 6 0 1 0 4 7 0 1 0 3 8 0 1 0 2 9 0 1 0 1 10 0 1 0 0 11 0 0 12 0 0 0 0 11 1 0 0 0 11 0 1 0 0 10 2 0 0 0 10 1 1 0 0 10 0 2 0 0 9 3 0 0 0 9 2 1 0 0 9 1 2 0 0 9 0 3 0 0 8 4 0 0 0 8 3 1 0 0 8 2 2 0 0 8 1 3 0 0 8 0 4 0 0 7 5 0 0 0 7 4 1 0 0 7 3 2 0 0 7 2 3 0 0 7 1 4 0 0 7 0 5 0 0 6 6 0 0 0 6 5 1 0 0 6 4 2 0 0 6 3 3 0 0 6 2 4 0 0 6 1 5 0 0 6 0 6 0 0 5 7 0 0 0 5 6 1 0 0 5 5 2 0 0 5 4 3 0 0 5 3 4 0 0 5 2 5 0 0 5 1 6 0 0 5 0 7 0 0 4 8 0 0 0 4 7 1 0 0 4 6 2 0 0 4 5 3 0 0 4 4 4 0 0 4 3 5 0 0 4 2 6 0 0 4 1 7 0 0 4 0 8 0 0 3 9 0 0 0 3 8 1 0 0 3 7 2 0 0 3 6 3 0 0 3 5 4 0 0 3 4 5 0 0 3 3 6 0 0 3 2 7 0 0 3 1 8 0 0 3 0 9 0 0 2 10 0 0 0 2 9 1 0 0 2 8 2 0 0 2 7 3 0 0 2 6 4 0 0 2 5 5 0 0 2 4 6 0 0 2 3 7 0 0 2 2 8 0 0 2 1 9 0 0 2 0 10 0 0 1 11 0 0 0 1 10 1 0 0 1 9 2 0 0 1 8 3 0 0 1 7 4 0 0 1 6 5 0 0 1 5 6 0 0 1 4 7 0 0 1 3 8 0 0 1 2 9 0 0 1 1 10 0 0 1 0 11 0 0 0 12 0 0 0 0 11 1 0 0 0 10 2 0 0 0 9 3 0 0 0 8 4 0 0 0 7 5 0 0 0 6 6 0 0 0 5 7 0 0 0 4 8 0 0 0 3 9 0 0 0 2 10 0 0 0 1 11 0 0 0 0 12