/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
{
int maxWidth = 72;
int[] properDivisors = {
1,2,3,4,6,7,12,13,14,21,26,28,39,42,52,78,79,84,91,
156,158,182,237,273,316,364,474,546,553,948,1027,
1092,1106,1659,2054,2212,3081,3318,4108,6162,6636,
7189,12324,14378,21567,28756,43134,
};
String prefix
= "...proper divisors: "; // Same number of chars as prefix, just all spaces.
String emptyPrefix
= prefix.
replaceAll(".",
" "); for (int i = 0; i < properDivisors.length; ++i) {
// Take as many of the items in the array as you can, without exceeding the
// max line length.
StringBuilder sb = new StringBuilder(prefix);
for (; i < properDivisors.length; ++i) {
int lengthBefore = sb.length();
// Append the next item, and comma, if it would be needed.
sb.append(properDivisors[i]);
if (i + 1 < properDivisors.length) sb.append(",");
if (sb.length() > maxWidth) {
// Truncate back to the length before appending.
sb.setLength(lengthBefore);
break;
}
}
// Blank out the prefix, so you will print leading spaces on next line.
prefix = emptyPrefix;
}
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewoJCWludCBtYXhXaWR0aCA9IDcyOwoJCWludFtdIHByb3BlckRpdmlzb3JzID0gewoJCTEsMiwzLDQsNiw3LDEyLDEzLDE0LDIxLDI2LDI4LDM5LDQyLDUyLDc4LDc5LDg0LDkxLAoJCTE1NiwxNTgsMTgyLDIzNywyNzMsMzE2LDM2NCw0NzQsNTQ2LDU1Myw5NDgsMTAyNywKCQkxMDkyLDExMDYsMTY1OSwyMDU0LDIyMTIsMzA4MSwzMzE4LDQxMDgsNjE2Miw2NjM2LAoJCTcxODksMTIzMjQsMTQzNzgsMjE1NjcsMjg3NTYsNDMxMzQsCgkJfTsKU3RyaW5nIHByZWZpeCA9ICIuLi5wcm9wZXIgZGl2aXNvcnM6ICI7Ci8vIFNhbWUgbnVtYmVyIG9mIGNoYXJzIGFzIHByZWZpeCwganVzdCBhbGwgc3BhY2VzLgpTdHJpbmcgZW1wdHlQcmVmaXggPSBwcmVmaXgucmVwbGFjZUFsbCgiLiIsICIgIik7CmZvciAoaW50IGkgPSAwOyBpIDwgcHJvcGVyRGl2aXNvcnMubGVuZ3RoOyArK2kpIHsKCiAgLy8gVGFrZSBhcyBtYW55IG9mIHRoZSBpdGVtcyBpbiB0aGUgYXJyYXkgYXMgeW91IGNhbiwgd2l0aG91dCBleGNlZWRpbmcgdGhlCiAgLy8gbWF4IGxpbmUgbGVuZ3RoLgogIFN0cmluZ0J1aWxkZXIgc2IgPSBuZXcgU3RyaW5nQnVpbGRlcihwcmVmaXgpOwogIGZvciAoOyBpIDwgcHJvcGVyRGl2aXNvcnMubGVuZ3RoOyArK2kpIHsKICAgIGludCBsZW5ndGhCZWZvcmUgPSBzYi5sZW5ndGgoKTsKCiAgICAvLyBBcHBlbmQgdGhlIG5leHQgaXRlbSwgYW5kIGNvbW1hLCBpZiBpdCB3b3VsZCBiZSBuZWVkZWQuCiAgICBzYi5hcHBlbmQocHJvcGVyRGl2aXNvcnNbaV0pOwogICAgaWYgKGkgKyAxIDwgcHJvcGVyRGl2aXNvcnMubGVuZ3RoKSBzYi5hcHBlbmQoIiwiKTsKCiAgICBpZiAoc2IubGVuZ3RoKCkgPiBtYXhXaWR0aCkgewogICAgICAvLyBUcnVuY2F0ZSBiYWNrIHRvIHRoZSBsZW5ndGggYmVmb3JlIGFwcGVuZGluZy4KICAgICAgc2Iuc2V0TGVuZ3RoKGxlbmd0aEJlZm9yZSk7CiAgICAgIGJyZWFrOwogICAgfQogIH0KICBTeXN0ZW0ub3V0LnByaW50bG4oc2IpOwoKICAvLyBCbGFuayBvdXQgdGhlIHByZWZpeCwgc28geW91IHdpbGwgcHJpbnQgbGVhZGluZyBzcGFjZXMgb24gbmV4dCBsaW5lLgogIHByZWZpeCA9IGVtcHR5UHJlZml4Owp9Cgl9Cn0=
...proper divisors: 1,2,3,4,6,7,12,13,14,21,26,28,39,42,52,78,79,84,91,
158,182,237,273,316,364,474,546,553,948,1027,1092,
1659,2054,2212,3081,3318,4108,6162,6636,7189,12324,
21567,28756,43134