output_description: Output N space-separated integers, denoting the elements of the set S. S must
  satisfy the following conditions :
  
    * The elements must be **distinct** positive integers not exceeding 30000.
    * The gcd of all elements of S is 1, i.e. there does not exist an integer d > 1 that divides all elements of S.
    * S is a **special** set.
  
  If there are multiple solutions, you may output any of them. The elements of S
  may be printed in any order. It is guaranteed that at least one solution exist
  under the given contraints.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      N
attempt: import sys
  
  sys.setrecursionlimit(10**7)  # 再帰関数の上限,10**5以上の場合python
  import math
  from copy import copy, deepcopy
  from operator import itemgetter
  from bisect import bisect_left, bisect, bisect_right  # 2分探索
  
  # bisect_left(l,x), bisect(l,x)#aはソート済みである必要あり。aの中からx未満の要素数を返す。rightだと以下
  from collections import deque
  
  # deque(l), pop(), append(x), popleft(), appendleft(x)
  ##listでqueの代用をするとO(N)の計算量がかかってしまうので注意
  from collections import Counter  # 文字列を個数カウント辞書に、
  
  # S=Counter(l),S.most_common(x),S.keys(),S.values(),S.items()
  from itertools import accumulate  # 累積和
  
  # list(accumulate(l))
  from heapq import heapify, heappop, heappush
  
  # heapify(q),heappush(q,a),heappop(q) #q=heapify(q)としないこと、返り値はNone
  # import fractions#古いatcoderコンテストの場合GCDなどはここからimportする
  from functools import lru_cache  # pypyでもうごく
  
  # @lru_cache(maxsize = None)#maxsizeは保存するデータ数の最大値、2**nが最も高効率
  
  
  def input():
      return sys.stdin.readline()[:-1]
  
  
  def printl(li):
      print(*li, sep="\n")
  
  
  def argsort(s, return_sorted=False):
      inds = sorted(range(len(s)), key=lambda k: s[k])
      if return_sorted:
          return inds, [s[i] for i in inds]
      return inds
  
  
  def alp2num(c, cap=False):
      return ord(c) - 97 if not cap else ord(c) - 65
  
  
  def num2alp(i, cap=False):
      return chr(i + 97) if not cap else chr(i + 65)
  
  
  def matmat(A, B):
      K, N, M = len(B), len(A), len(B[0])
      return [
          [sum([(A[i][k] * B[k][j]) for k in range(K)]) for j in range(M)]
          for i in range(N)
      ]
  
  
  def matvec(M, v):
      N, size = len(v), len(M)
      return [sum([M[i][j] * v[j] for j in range(N)]) for i in range(size)]
  
  
  def T(M):
      n, m = len(M), len(M[0])
      return [[M[j][i] for j in range(n)] for i in range(m)]
  
  
  def main():
      mod = 10**9 + 7
      # w.sort(key=itemgetter(1),reversed=True)  #二個目の要素で降順並び替え
      # B - GCD Sequence
      N = int(input())
      # N, K = map(int, input().split())
      # A = tuple(map(int, input().split())) #1行ベクトル
      # L = tuple(int(input()) for i in range(N)) #改行ベクトル
      # S = tuple(tuple(map(int, input().split())) for i in range(N)) #改行行列
      if N == 3:
          print("2 5 63")
          exit()
      if N == 4:
          print("2 5 20 63")
          exit()
      N3 = min(5000, N // 2 * 2 - 2)
      N2 = N - N3
      if N2 == 0 or N2 % 3 == 1:
          N3 -= 2
          N2 += 2
      ans = [3 + i * 6 for i in range(N3)] + [2 * j + 2 for j in range(N2)]
      print(*ans)
      # print(sum(ans),max(ans))
  
  
  if __name__ == "__main__":
      main()
  
problem_description: Statement
  
  Nagase is a top student in high school. One day, she's analyzing some
  properties of special sets of positive integers.
  
  She thinks that a set S = \\{a_{1}, a_{2}, ..., a_{N}\\} of **distinct**
  positive integers is called **special** if for all 1 \leq i \leq N, the gcd
  (greatest common divisor) of a_{i} and the sum of the remaining elements of S
  is **not** 1.
  
  Nagase wants to find a **special** set of size N. However, this task is too
  easy, so she decided to ramp up the difficulty. Nagase challenges you to find
  a **special** set of size N such that the gcd of all elements are 1 and the
  elements of the set does not exceed 30000.
samples: [{"input": "3", "output": "2 5 63\n    \n\n\\\\{2, 5, 63\\\\} is special because gcd(2, 5 + 63) = 2, gcd(5, 2 + 63) = 5,\ngcd(63, 2 + 5) = 7. Also, gcd(2, 5, 63) = 1. Thus, this set satisfies all the\ncriteria.\n\nNote that \\\\{2, 4, 6\\\\} is not a valid solution because gcd(2, 4, 6) = 2 > 1.\n\n* * *"}, {"input": "4", "output": "2 5 20 63\n    \n\n\\\\{2, 5, 20, 63\\\\} is special because gcd(2, 5 + 20 + 63) = 2, gcd(5, 2 + 20 +\n63) = 5, gcd(20, 2 + 5 + 63) = 10, gcd(63, 2 + 5 + 20) = 9. Also, gcd(2, 5,\n20, 63) = 1. Thus, this set satisfies all the criteria."}]