// yukicoder: No.522 Make Test Cases(テストケースを作る) // 2019.5.2 bal4u #include #if 1 #define gc() getchar_unlocked() #define pc(c) putchar_unlocked(c) #else #define gc() getchar() #define pc(c) putchar(c) #endif int in() // 非負整数の入力 { int n = 0, c = gc(); do n = 10 * n + (c & 0xf), c = gc(); while (c >= '0'); return n; } char as[10]; void a_out(int n) // 正整数の表示(出力) { int i, j; char t[10]; i = 0; while (n) t[i++] = n % 10 + '0', n /= 10; j = 0; while (i--) as[j++] = t[i]; as[j++] = ' ', as[j] = 0; } void out(int n) // 正整数の表示(出力) { int i; char b[20]; i = 0; while (n) b[i++] = n % 10 + '0', n /= 10; while (i--) pc(b[i]); } void outs(char *s) { while (*s) pc(*s++); } int main() { int N, a, b, c, aa; N = in(); aa = N/3; for (a = 1; a <= aa; a++) { a_out(a); b = a, c = N - (a<<1); while (c >= b) { outs(as), out(b), pc(' '), out(c), pc('\n'); b++, c--; } } return 0; }