#include <bits/stdc++.h>
using namespace std;
int n, sum, cnt;
string ans;
string JiaFa(string a, string b) {
string c = "";
int la = a.size();
int lb = b.size();
if (la > lb) {
for (int i = 0; i < la - lb; i++) {
b = '0' + b;
}
}
if (la < lb) {
for (int i = 0; i < lb - la; i++) {
a = '0' + a;
}
}
int tmp = 0;
for (int i = a.size() - 1; i >= 0; i--) {
int k = (a[i] - '0') + (b[i] - '0') + tmp;
c = char(k % 10 + '0') + c;
tmp = k / 10;
}
if (tmp == 1) {
c = '1' + c;
}
return c;
}
string ChengFa(string a, string b) {
string c = "";
int tl = 0;
for (int i = b.size() - 1; i >= 0; i--) {
int tmp = 0;
string t = "";
for (int j = a.size() - 1; j >= 0; j--) {
int k = (b[i] - '0') * (a[j] - '0') + tmp;
tmp = k / 10;
t = char(k % 10 + '0') + t;
}
if (tmp != 0) {
t = char(tmp + '0') + t;
}
for (int j = 0; j < tl; j++) {
t += '0';
}
c = JiaFa(c, t);
tl++;
}
if (a == "0" || b == "0") {
return "0";
}
return c;
}
int main() {
ans = "1";
cin >> n;
for (cnt = 2;; cnt++) {
sum += cnt;
if (sum >= n) {
break;
}
}
if (n <= 4) {
cout << n << endl << n;
return 0;
}
if (sum == n) {
for (int i = 2; i <= cnt; i++) {
cout << i << ' ';
char c = char(i + '0');
std::string s;
s = c;
ans = ChengFa(ans, s);
}
cout << endl;
cout << ans;
} else {
int a = sum - n;
if (a == 1) {
for (int i = 2; i <= cnt; i++) {
if (i == 2) {
continue;
}
if (i == cnt) {
i++;
}
cout << i << ' ';
char c = char(i + '0');
std::string s;
s = c;
ans = ChengFa(ans, s);
}
} else {
for (int i = 2; i <= cnt; i++) {
if (i == a) {
continue;
}
cout << i << ' ';
char c = char(i + '0');
std::string s;
s = c;
ans = ChengFa(ans, s);
}
}
cout << endl;
cout << ans;
}
return 0;
}