output_description: In the order i = 1, 2, ..., M, print the inconvenience just after the i-th
  bridge collapses. Note that the answer may not fit into a 32-bit integer type.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      N M
      A_1 B_1
      A_2 B_2
      \vdots
      A_M B_M
attempt: n, m = map(int, input().split())
  lst = [list(map(int, input().split())) for _ in range(m)]
  
  lst = list(reversed(lst))
  
  possible_route = n * (n - 1) / 2
  ans = [possible_route]
  route_lst = []
  
  for pair in lst:
      new_route_lst = []
      index0 = -1
      index1 = -1
      for k, route in enumerate(route_lst):
          if pair[0] in route:
              index0 = k
          if pair[1] in route:
              index1 = k
      if index0 >= 0 and index1 >= 0 and index1 != index0:
          route = set(route_lst[index0]) | set(route_lst[index1])
          new_route_lst.append(list(route))
      elif index0 >= 0:
          route = set(route_lst[index1]) | set(pair)
          new_route_lst.append(list(route))
      elif index1 >= 0:
          route = set(route_lst[index1]) | set(pair)
          new_route_lst.append(list(route))
      else:
          new_route_lst.append(pair)
      for k, route in enumerate(route_lst):
          if k == index0 or k == index1:
              pass
          else:
              new_route_lst.append(route)
  
      count = 0
      for k in new_route_lst:
          m = len(k)
          count += m * (m - 1) / 2
  
      ans.append(possible_route - count)
  
      route_lst = new_route_lst
  
  for i in reversed(ans):
      print(int(i))
  
problem_description: Statement
  
  There are N islands and M bridges.
  
  The i-th bridge connects the A_i-th and B_i-th islands bidirectionally.
  
  Initially, we can travel between any two islands using some of these bridges.
  
  However, the results of a survey show that these bridges will all collapse
  because of aging, in the order from the first bridge to the M-th bridge.
  
  Let the **inconvenience** be the number of pairs of islands (a, b) (a < b)
  such that we are no longer able to travel between the a-th and b-th islands
  using some of the bridges remaining.
  
  For each i (1 \leq i \leq M), find the inconvenience just after the i-th
  bridge collapses.
samples: [{"input": "4 5\n    1 2\n    3 4\n    1 3\n    2 3\n    1 4", "output": "0\n    0\n    4\n    5\n    6\n    \n\nFor example, when the first to third bridges have collapsed, the inconvenience\nis 4 since we can no longer travel between the pairs (1, 2), (1, 3), (2, 4)\nand (3, 4).\n\n* * *"}, {"input": "6 5\n    2 3\n    1 2\n    5 6\n    3 4\n    4 5", "output": "8\n    9\n    12\n    14\n    15\n    \n\n* * *"}, {"input": "2 1\n    1 2", "output": "1"}]