import java.io.{BufferedReader, InputStream, InputStreamReader, PrintWriter}
import java.util.StringTokenizer

import scala.collection.mutable
import scala.util.Sorting
import math.{abs, max, min}
import scala.collection.mutable.{ArrayBuffer, ListBuffer}

object Main {
  val MOD = 1000000007
  val out = new PrintWriter(System.out)
  def solve(): Unit = {
    val sc = new InputReader(System.in)
    val K = sc.nextLong()

    def a(N: Int, applyCnt: Long): Long = {
      N - 1 + applyCnt * N - K + applyCnt
    }

    val A_MAX = 100000000L * 100000000 + 1000
    def validate(a: Long): Boolean = 0 <= a && a <= A_MAX

    def ok(N: Int): Boolean = {
      val a0 = a(N, K / N)
      val a1 = a(N, K / N + 1)
      if (K % N == 0) validate(a0)
      else validate(a0) && validate(a1)
    }

    val N = ((2 to 50) find ok).get
    val cnt1 = (K % N).toInt
    val cnt0 = N - cnt1
    val a0 = a(N, K / N)
    val a1 = a(N, K / N + 1)

    out.println(N)
    out.println((map(cnt0)(_ => a0) ++ map(cnt1)(_ => a1)).mkString(" "))
  }


  def main(args: Array[String]): Unit = {
    solve()
    out.flush()
  }


  class InputReader(val stream: InputStream) {
    private val reader = new BufferedReader(new InputStreamReader(stream), 32768)
    private var tokenizer: StringTokenizer = null

    def next: String = {
      while (tokenizer == null || !tokenizer.hasMoreTokens)
        tokenizer = new StringTokenizer(reader.readLine)
      tokenizer.nextToken
    }

    def nextInt(): Int = next.toInt
    def nextLong(): Long = next.toLong
    def nextChar(): Char = next.charAt(0)
  }

  private def rep(n: Int)(f: Int => Unit): Unit = {
    (0 until n) foreach f
  }

  private def map[@specialized(Int, Long) A](n: Int)(f: Int => A): Seq[A] = {
    (0 until n) map f
  }
}
