#include #include #include #include #include #include #include #include #include #include #pragma GCC optimize("O3") #pragma comment(linker, "STACK:36777216") using namespace std; using i64 = int64_t; constexpr i64 mod = 17; using vi = vector; using vvi = vector; using ii = pair; using vii = vector; ii simdiv(int n) { int a, b; for (int i = 1; i * i <= n; i++) { if (n % i == 0) { a = i; b = n / i; } } return ii(a, b); } int main() { int k; cin >> k; if (k == 0) { cout << "1\n1\n"; return 0; } int n = k; while (1) { ii r = simdiv(n); if (r.first + r.second + k - n < 248) { vi ans; for (int i = 0; i < r.first; i++) { ans.push_back(2); } for (int i = 0; i < r.second; i++) { ans.push_back(3); } ans.push_back(7); for (int i = 0; i < k - n; i++) { ans.push_back(6); } cout << ans.size() << endl; for (int i = 0; i < ans.size() - 1; i++) { cout << ans[i] << " "; } cout << ans.back() << endl; return 0; } n--; } }