import java.util.Arrays;
import java.util.Stack;
//mevius.5ch.net/test/read.cgi/tech/1480579110/883
class Q9_883
{
public static void main
(String[] args
) {
solve(22);
}
static void solve(int n)
{
solve(n, n, 0, 1, new Stack<Integer>());
}
private static void solve(int remain, int i, int numerator, int denominator, Stack<Integer> temp)
{
if (remain == 0)
{
if (numerator
== denominator
) System.
out.
println(toString
(temp
)); return;
}
while (i >= 1)
{
int n = numerator * i + denominator;
int d = denominator * i;
if (n > d) break;
temp.push(i);
solve
(remain
- i,
Math.
min(remain
- i, i
), n, d, temp
); temp.pop();
i--;
}
}
public static String toString
(Stack
<Integer
> stack
) {
}
}
aW1wb3J0IGphdmEudXRpbC5BcnJheXM7CmltcG9ydCBqYXZhLnV0aWwuU3RhY2s7CgovL21ldml1cy41Y2gubmV0L3Rlc3QvcmVhZC5jZ2kvdGVjaC8xNDgwNTc5MTEwLzg4MwpjbGFzcyBROV84ODMKewogICAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykKICAgIHsKICAgICAgICBzb2x2ZSgyMik7CiAgICB9CgogICAgc3RhdGljIHZvaWQgc29sdmUoaW50IG4pCiAgICB7CiAgICAgICAgc29sdmUobiwgbiwgMCwgMSwgbmV3IFN0YWNrPEludGVnZXI+KCkpOwogICAgfQoKICAgIHByaXZhdGUgc3RhdGljIHZvaWQgc29sdmUoaW50IHJlbWFpbiwgaW50IGksIGludCBudW1lcmF0b3IsIGludCBkZW5vbWluYXRvciwgU3RhY2s8SW50ZWdlcj4gdGVtcCkKICAgIHsKICAgICAgICBpZiAocmVtYWluID09IDApCiAgICAgICAgewogICAgICAgICAgICBpZiAobnVtZXJhdG9yID09IGRlbm9taW5hdG9yKSBTeXN0ZW0ub3V0LnByaW50bG4odG9TdHJpbmcodGVtcCkpOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQoKICAgICAgICB3aGlsZSAoaSA+PSAxKQogICAgICAgIHsKICAgICAgICAgICAgaW50IG4gPSBudW1lcmF0b3IgKiBpICsgZGVub21pbmF0b3I7CiAgICAgICAgICAgIGludCBkID0gZGVub21pbmF0b3IgKiBpOwogICAgICAgICAgICBpZiAobiA+IGQpIGJyZWFrOwoKICAgICAgICAgICAgdGVtcC5wdXNoKGkpOwogICAgICAgICAgICBzb2x2ZShyZW1haW4gLSBpLCBNYXRoLm1pbihyZW1haW4gLSBpLCBpKSwgbiwgZCwgdGVtcCk7CiAgICAgICAgICAgIHRlbXAucG9wKCk7CiAgICAgICAgICAgIGktLTsKICAgICAgICB9CiAgICB9CgogICAgcHVibGljIHN0YXRpYyBTdHJpbmcgdG9TdHJpbmcoU3RhY2s8SW50ZWdlcj4gc3RhY2spCiAgICB7CiAgICAgICAgSW50ZWdlcltdIGlzID0gc3RhY2sudG9BcnJheShuZXcgSW50ZWdlclswXSk7CiAgICAgICAgQXJyYXlzLnNvcnQoaXMpOwogICAgICAgIHJldHVybiBBcnJheXMudG9TdHJpbmcoaXMpOwogICAgfQp9Cg==
[3, 3, 4, 12]
[2, 5, 5, 10]
[2, 4, 8, 8]