#include #include #include using namespace std; vector> get_combination(int ma) { vector> mat(ma + 1, vector(ma + 1)); for (int n = 0; n <= ma; n++) mat[n][0] = 1; for (int n = 1; n <= ma; n++) for (int r = 1; r <= n; r++) { mat[n][r] = mat[n - 1][r - 1] + mat[n - 1][r]; } return mat; } int main() { int x; cin >> x; if (x == 0) { cout << "1 0" << endl; return 0; } if (x > 31) { cout << "0 0" << endl; return 0; } vector> comb = get_combination(31); cout << comb[31][x] << " " << comb[30][x - 1] * ~-(1LL << 31) << endl; return 0; }