//独立なペアを3つ探す。(1, 1)(8, 9)(24, 37). 独立なペア…他の奴とペアにすると和が合成数。独立に足せるので嬉しい。 #include #include using namespace std; int k; vector ans; signed main() { int i; cin >> k; for (i = 0; i < 100; i++) ans.push_back(8); for (i = 0; i < k / 100; i++) ans.push_back(9); k %= 100; for (i = 1; i * (i - 1) / 2 <= k; i++); int x = i - 1; for (i = 0; i < x; i++) ans.push_back(1); k -= x * (x - 1) / 2; ans.push_back(24); for (i = 0; i < k; i++) ans.push_back(37); cout << ans.size() << endl; for (i = 0; i < ans.size(); i++) { cout << ans[i]; if (i + 1 < ans.size()) cout << " "; } cout << endl; return 0; }