import java.util.*;
import java.lang.*;
import java.io.*;
class Main
{
public static long ss(int m, int k) {
if (k < 1 || m < 1) return 0;
if (k == 1) return 1;
if (2 * m < k * (k - 1)) return 0;
long ac = 0;
for (int t = m - (k - 1) * (k - 2) / 2; t >= k; t--)
ac += tt(m, k, t);
System.
out.
printf("Ss(%d,%d)=%d\n", m, k, ac
); return ac;
}
private static long tt(int m, int k, int t) {
if (k < 1 || m < 1) return 0;
if (k == 1) return t == m ? 1 : 0;
if (2 * m < k * (k - 1)) return 0;
if (t < k || t > m - (k - 1) * (k - 2) / 2)
return 0;
long ac = 0;
for (int s = 1; s < t; s++)
ac += tt(m - t, k - 1, s);
return ac;
}
public static void main
(String[] args
) { ss(20, 5);
}
}
aW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgpjbGFzcyBNYWluCnsKCXB1YmxpYyBzdGF0aWMgbG9uZyBzcyhpbnQgbSwgaW50IGspIHsKCQlpZiAoayA8IDEgfHwgbSA8IDEpCQlyZXR1cm4gMDsKCQlpZiAoayA9PSAxKQkJCXJldHVybiAxOwoJCWlmICgyICogbSA8IGsgKiAoayAtIDEpKQlyZXR1cm4gMDsKCQlsb25nIGFjID0gMDsKCQlmb3IgKGludCB0ID0gbSAtIChrIC0gMSkgKiAoayAtIDIpIC8gMjsgdCA+PSBrOyB0LS0pCgkJCWFjICs9IHR0KG0sIGssIHQpOwoJCVN5c3RlbS5vdXQucHJpbnRmKCJTcyglZCwlZCk9JWRcbiIsIG0sIGssIGFjKTsKCQlyZXR1cm4gYWM7Cgl9CgoJcHJpdmF0ZSBzdGF0aWMgbG9uZyB0dChpbnQgbSwgaW50IGssIGludCB0KSB7CgkJaWYgKGsgPCAxIHx8IG0gPCAxKQkJcmV0dXJuIDA7CgkJaWYgKGsgPT0gMSkJCQlyZXR1cm4gdCA9PSBtID8gMSA6IDA7CgkJaWYgKDIgKiBtIDwgayAqIChrIC0gMSkpCXJldHVybiAwOwoJCWlmICh0IDwgayB8fCB0ID4gbSAtIChrIC0gMSkgKiAoayAtIDIpIC8gMikKCQkJcmV0dXJuIDA7CgkJbG9uZyBhYyA9IDA7CgkJZm9yIChpbnQgcyA9IDE7IHMgPCB0OyBzKyspCgkJCWFjICs9IHR0KG0gLSB0LCBrIC0gMSwgcyk7CgkJcmV0dXJuIGFjOwoJfQoKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpIHsKCQlzcygyMCwgNSk7Cgl9Cgp9