#include <bits/stdc++.h>
using namespace std;
long long bit(int x) { return ((long long)1) << x; }
int bs_size(long long x) { return __builtin_popcount(x); }
bool bs_count(long long x, int i) { return (x & bit(i)) != 0; }
long long bs_insert(long long x, int i) { return x | bit(i); }
template <typename T>
void read(T* a, int n) {
  for (int i = 0; i < n; i++) cin >> a[i];
}
template <typename T>
T gcd(T x, T y) {
  return y ? gcd(y, x % y) : x;
}
template <typename T>
T ceil(T a, T b) {
  return (a + b - 1) / b;
}
template <typename T>
void isort(T x) {
  sort(x.begin(), x.end());
}
template <typename T>
void remove_duplicates(T x) {
  x.erase(unique(x.begin(), x.end()), x.end());
}
long long dot(const pair<long long, long long>& a,
              const pair<long long, long long>& b) {
  return a.first * b.first + a.second * b.second;
}
long long sq(const pair<long long, long long>& a) { return dot(a, a); }
long long cross(pair<long long, long long>& a, pair<long long, long long>& b) {
  return a.first * b.second - a.second * b.first;
}
pair<long long, long long> operator-(const pair<long long, long long>& a,
                                     const pair<long long, long long>& b) {
  return {a.first - b.first, a.second - b.second};
}
int main() {
  int A;
  cin >> A;
  if (A > 1) {
    cout << 2 * (A - 1) << " " << 2 << endl;
    cout << 2 << " " << 1 << endl;
  } else {
    cout << 1 << " " << 1 << endl;
    cout << 1 << endl;
  }
}
