#include <bits/stdc++.h>
using namespace std;
int n;
basic_string<long long> a;
long long greedy() {
  long long res = 0, cur = 0, k = -1;
  for (int i = 0; i < n; i++) {
    cur += a[i];
    if (cur < 0) {
      cur = 0;
      k = i;
    }
    res = max(res, (i - k) * cur);
  }
  return res;
}
long long full() {
  long long res = 0;
  for (int i = 0; i < n; i++) {
    long long cur = 0;
    for (int j = i; j < n; j++) {
      cur += a[j];
      res = max(res, (j - i + 1) * cur);
    }
  }
  return res;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(nullptr);
  cout.tie(nullptr);
  cerr.tie(nullptr);
  long long x;
  cin >> x;
  for (long long k = 1; k <= 999; k++) {
    long long lo = (k + 2 * k * k + x + 2 * k - 1) / (2 * k);
    long long hi =
        (3 * k * k + 6 * k * k * k + 3 * k * x) / (6 * k * k - 2 * k - 1);
    for (long long a = lo; a <= hi; a++) {
      if (a > 999999) break;
      long long p = a + k + 2 * k * k + x;
      if (p % (2 * k + 1)) continue;
      long long d = p / (2 * k + 1);
      cerr << a << ' ' << d << ' ' << k << '\n';
      {
        ::a += a;
        ::a += -1 - a;
        for (int i = 0; i < k - 1; i++) ::a += {a, -1 - a};
        ::a += d;
        n = ::a.size();
        cout << n << '\n';
        for (long long x : ::a) cout << x << ' ';
        cout << '\n';
        return 0;
      }
    }
  }
}
