output_description: Print the maximum possible value of M_1 + M_2 + \cdots + M_N.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      N
attempt: N = int(input())
  
  
  if N < 10**6:
      ans = 0
      for i in range(1, N):
          ans += i
  elif (N >= 10**6) and (N < 10**7):
      base = 0
      _ = int(N / 10)
      for i in range(_):
          base += i
  
      base_str = str(base)
      base_str = base_str[:1] + base_str[1] + base_str[1:] + "0"
      ans = int(base_str)
  
  elif (N >= 10**7) and (N < 10**8):
      base = 0
      _ = int(N / 100)
      for i in range(_):
          base += i
  
      base_str = str(base)
      base_str = base_str[:1] + base_str[1] * 2 + base_str[1:] + "0" * 2
      ans = int(base_str)
  
  
  elif (N >= 10**8) and (N < 10**9):
      base = 0
      _ = int(N / 1000)
      for i in range(_):
          base += i
  
      base_str = str(base)
      base_str = base_str[:1] + base_str[1] * 3 + base_str[1:] + "0" * 3
      ans = int(base_str)
  
  else:
      ans = 499999999500000000
  
  print(ans)
  
problem_description: Statement
  
  For an integer N, we will choose a permutation \\{P_1, P_2, ..., P_N\\} of
  \\{1, 2, ..., N\\}.
  
  Then, for each i=1,2,...,N, let M_i be the remainder when i is divided by P_i.
  
  Find the maximum possible value of M_1 + M_2 + \cdots + M_N.
samples: [{"input": "2", "output": "1\n    \n\nWhen the permutation \\\\{P_1, P_2\\\\} = \\\\{2, 1\\\\} is chosen, M_1 + M_2 = 1 + 0\n= 1.\n\n* * *"}, {"input": "13", "output": "78\n    \n\n* * *"}, {"input": "1", "output": "0"}]