



"""simple docstring"""







def 				UpperCamelCase_    (    )						->   int:

  """simple docstring"""




  lowerCAmelCase_   :				List[str]								= [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]

  lowerCAmelCase_   :				str								= 6
  lowerCAmelCase_   :				List[Any]								= 1
  lowerCAmelCase_   :				List[str]								= 1901

  lowerCAmelCase_   :				str								= 0

  while year < 2001:
    day += 7

    if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
      if day > days_per_month[month - 1] and month != 2:
        month += 1
        lowerCAmelCase_   :				List[Any]								= day - days_per_month[month - 2]
      elif day > 29 and month == 2:
        month += 1
        lowerCAmelCase_   :				int								= day - 29
    else:
      if day > days_per_month[month - 1]:
        month += 1
        lowerCAmelCase_   :				Optional[int]								= day - days_per_month[month - 2]

    if month > 12:
      year += 1
      lowerCAmelCase_   :				Optional[int]								= 1

    if year < 2001 and day == 1:
      sundays += 1
  return sundays


if __name__ == "__main__":
     print(solution())










"""simple docstring"""







import random

def 				UpperCamelCase_    (    lowerCAmelCase__      :				int    ,   lowerCAmelCase__      :				float    ,   lowerCAmelCase__      :				bool = False						)						->   dict:

  """simple docstring"""




  lowerCAmelCase_   :				dict								= {i: [] for i in range(lowerCAmelCase__						)}

  # if probability is greater or equal than 1, then generate a complete graph
  if probability >= 1:
    return complete_graph(lowerCAmelCase__						)
  # if probability is lower or equal than 0, then return a graph without edges
  if probability <= 0:
    return graph

  # for each couple of nodes, add an edge from u to v
  # if the number randomly generated is greater than probability probability
  for i in range(lowerCAmelCase__						):
    for j in range(i + 1    ,   lowerCAmelCase__						):
      if random.random() < probability:
        graph[i].append(lowerCAmelCase__						)
        if not directed:
          # if the graph is undirected, add an edge in from j to i, either
          graph[j].append(lowerCAmelCase__						)
  return graph

def 				UpperCamelCase_    (    lowerCAmelCase__      :				int						)						->   dict:

  """simple docstring"""




  return {
      i: [j for j in range(lowerCAmelCase__						) if i != j] for i in range(lowerCAmelCase__						)
  }


if __name__ == "__main__":
     import doctest

     doctest.testmod()





