output_description: Print the maximum number of pairs that can be created.
  
  * * *
input_description: The input is given from Standard Input in the following format:
  
      
      
      N M
      X_1 X_2 ... X_N
attempt: MIS = lambda: map(int, input().split())
  
  
  def match(L, R):
      # print(L, R)
  
      L.sort()
      R.sort()
      match = 0
      lself = rself = 0
      lrem = rrem = 0
      while L:
          if len(L) >= 2 and L[-1] == L[-2]:
              lself += 1
              match += 1
              L.pop()
              L.pop()
          else:
              lrem += 1
              L.pop()
      while R:
          if len(R) >= 2 and R[-1] == R[-2]:
              rself += 1
              match += 1
              R.pop()
              R.pop()
          else:
              rrem += 1
              R.pop()
      while lrem and rrem:
          lrem -= 1
          rrem -= 1
          match += 1
      while lrem >= 2 and rself:
          lrem -= 2
          rself -= 1
          match += 1
      while rrem >= 2 and lself:
          rrem -= 2
          lself -= 1
          match += 1
  
      return match
  
  
  n, m = MIS()
  card = [[] for i in range(m)]
  for x in MIS():
      card[x % m].append(x // m)
  
  tot = len(card[0]) // 2
  for i in range(1, (m + 1) // 2):
      tot += match(card[i], card[m - i])
  if m % 2 == 0:
      tot += len(card[m // 2]) // 2
  print(tot)
  
problem_description: Statement
  
  Takahashi is playing with N cards.
  
  The i-th card has an integer X_i on it.
  
  Takahashi is trying to create as many pairs of cards as possible satisfying
  one of the following conditions:
  
    * The integers on the two cards are the same.
    * The sum of the integers on the two cards is a multiple of M.
  
  Find the maximum number of pairs that can be created.
  
  Note that a card cannot be used in more than one pair.
samples: [{"input": "7 5\n    3 1 4 1 5 9 2", "output": "3\n    \n\nThree pairs (3,2), (1,4) and (1,9) can be created.\n\nIt is possible to create pairs (3,2) and (1,1), but the number of pairs is not\nmaximized with this.\n\n* * *"}, {"input": "15 10\n    1 5 6 10 11 11 11 20 21 25 25 26 99 99 99", "output": "6"}]