#include <bits/stdc++.h>
using namespace std;
int K, N;
int av[2003];
void readin() { scanf("%d", &K); }
const int bound = 1000000 - 3000;
void process() {
  int N = 1, S = K;
  av[0] = -1;
  while (S > 0 || N == 1) {
    if (S >= bound) {
      av[N] = bound;
    } else {
      av[N] = S + N + 1;
    }
    S -= av[N];
    ++N;
  }
  printf("%d\n", N);
  for (int i = 0; i < N; ++i) {
    printf("%d ", av[i]);
  }
}
int main() {
  readin();
  process();
  return 0;
}
