output_description: Print M lines in the format below. The i-th line should contain the two
  integers a_i and b_i assigned to the i-th playing field.
  
      
      
      a_1 b_1
      a_2 b_2
      :
      a_M b_M
      
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      N M
attempt: # coding: utf-8
  import math
  
  N, M = map(int, input().split())
  
  
  # 素数判定関数
  def isPrime(num):
      # 2未満の数字は素数ではない
      if num < 2:
          return False
      # 2は素数
      elif num == 2:
          return True
      # 偶数は素数ではない
      elif num % 2 == 0:
          return False
  
      # 3 ~ numまでループし、途中で割り切れる数があるか検索
      # 途中で割り切れる場合は素数ではない
      for i in range(3, math.floor(math.sqrt(num)) + 1, 2):
          if num % i == 0:
              return False
  
      # 素数
      return True
  
  
  # 素数判定
  def callIsPrime(input_num=1000):
      numbers = []
      # ループしながら素数を検索する
      for i in range(1, input_num):
          if isPrime(i):
              numbers.append(i)
  
      # 素数配列を返す
      return numbers
  
  
  used = [False for i in range(N + 1)]
  P = callIsPrime(100000)
  L = [1]
  L.extend(P)
  
  for i in range(len(L)):
      if L[i] > N - 1:
          index = i - 1
          break
  cnt = 1
  C = 0
  while True:
      if not used[cnt] and not used[cnt + L[index - C - 1]]:
          print(cnt, cnt + L[index - C - 1])
          used[cnt] = True
          used[cnt + L[index - C - 1]] = True
          C += 1
      if C == M:
          break
      cnt += 1
  
problem_description: Statement
  
  You are going to hold a competition of one-to-one game called AtCoder Janken.
  _(Janken is the Japanese name for Rock-paper-scissors.)_ N players will
  participate in this competition, and they are given distinct integers from 1
  through N. The arena has M playing fields for two players. You need to assign
  each playing field two distinct integers between 1 and N (inclusive). You
  cannot assign the same integer to multiple playing fields. The competition
  consists of N rounds, each of which proceeds as follows:
  
    * For each player, if there is a playing field that is assigned the player's integer, the player goes to that field and fight the other player who comes there.
    * Then, each player adds 1 to its integer. If it becomes N+1, change it to 1.
  
  You want to ensure that no player fights the same opponent more than once
  during the N rounds. Print an assignment of integers to the playing fields
  satisfying this condition. It can be proved that such an assignment always
  exists under the constraints given.
samples: [{"input": "4 1", "output": "2 3\n    \n\nLet us call the four players A, B, C, and D, and assume that they are\ninitially given the integers 1, 2, 3, and 4, respectively.\n\n  * The 1-st round is fought by B and C, who has the integers 2 and 3, respectively. After this round, A, B, C, and D have the integers 2, 3, 4, and 1, respectively.\n\n  * The 2-nd round is fought by A and B, who has the integers 2 and 3, respectively. After this round, A, B, C, and D have the integers 3, 4, 1, and 2, respectively.\n\n  * The 3-rd round is fought by D and A, who has the integers 2 and 3, respectively. After this round, A, B, C, and D have the integers 4, 1, 2, and 3, respectively.\n\n  * The 4-th round is fought by C and D, who has the integers 2 and 3, respectively. After this round, A, B, C, and D have the integers 1, 2, 3, and 4, respectively.\n\nNo player fights the same opponent more than once during the four rounds, so\nthis solution will be accepted.\n\n* * *"}, {"input": "7 3", "output": "1 6\n    2 5\n    3 4"}]