



'''simple docstring'''





lowercase_		       =  [4, 1, 7, 4, 2, 6, 4, 1, 5, 3, 7, 5]
lowercase_		       =  [3, 7, 7, 4, 2, 6, 4, 1, 5, 3, 7, 5]
lowercase_		       =  {
    0: "Sunday",
    1: "Monday",
    2: "Tuesday",
    3: "Wednesday",
    4: "Thursday",
    5: "Friday",
    6: "Saturday",
}




def lowerCAmelCase  (__A  ,	__A  ,	__A):



     """simple docstring"""



     assert len(str(__A)) > 2, "year should be in YYYY format"
     assert 1 <= month <= 12, "month should be between 1 to 12"
     assert 1 <= day <= 31, "day should be between 1 to 31"

     # Doomsday algorithm:
     _a      =  year // 100
     _a      =  (5 * (century % 4) + 2) % 7
     _a      =  year % 100
     _a      =  centurian % 12
     _a      =  (
         (centurian // 12) + centurian_m + (centurian_m // 4) + century_anchor
     ) % 7
     _a      =  (
         DOOMSDAY_NOT_LEAP[month - 1]
         if (year % 4 != 0) or (centurian == 0 and (year % 400) == 0)
         else DOOMSDAY_LEAP[month - 1]
     )
     _a      =  (dooms_day + day - day_anchor) % 7
     return WEEK_DAY_NAMES[week_day]


if __name__ == "__main__":
  import doctest

  doctest.testmod()








'''simple docstring'''





import math






class __A			:



 '''simple docstring'''







 def __init__(self ,   A=0       )    ->     Dict:  # a graph with Node 0,1,...,N-1


      """simple docstring"""



      _a      =  n
      _a      =  [
          [math.inf for j in range(0 ,   A       )] for i in range(0 ,   A       )
      ]  # adjacency matrix for weight
      _a      =  [
          [math.inf for j in range(0 ,   A       )] for i in range(0 ,   A       )
      ]  # dp[i][j] stores minimum distance from i to j



 def 					a__  (self ,   A ,   A ,   A       )    ->     Tuple:


      """simple docstring"""



      _a      =  w



 def 					a__  (self       )    ->     List[Any]:


      """simple docstring"""



      for k in range(0 ,   self.n       ):
           for i in range(0 ,   self.n       ):
                for j in range(0 ,   self.n       ):
                     _a      =  min(self.dp[i][j] ,   self.dp[i][k] + self.dp[k][j]       )



 def 					a__  (self ,   A ,   A       )    ->     str:


      """simple docstring"""



      return self.dp[u][v]


if __name__ == "__main__":
  lowercase_		       =  Graph(5)
  graph.add_edge(0, 2, 9)
  graph.add_edge(0, 4, 10)
  graph.add_edge(1, 3, 5)
  graph.add_edge(2, 3, 7)
  graph.add_edge(3, 0, 10)
  graph.add_edge(3, 1, 2)
  graph.add_edge(3, 2, 1)
  graph.add_edge(3, 4, 6)
  graph.add_edge(4, 1, 3)
  graph.add_edge(4, 2, 4)
  graph.add_edge(4, 3, 9)
  graph.floyd_warshall()
  graph.show_min(1, 4)
  graph.show_min(0, 3)



