


def    a__    (		snake_case__					:							list[int]						,   snake_case__					:							list[int]						,   snake_case__					:							int     ):
  return not any(
      neighbour == 1 and colored_vertices[i] == color
      for i, neighbour in enumerate(snake_case__     )     )




def    a__    (		snake_case__					:							list[list[int]]						,   snake_case__					:							int						,   snake_case__					:							list[int]						,   snake_case__					:							int     ):

  # Base Case
  if index == len(snake_case__     ):
    return True

  # Recursive Step
  for i in range(snake_case__     ):
    if valid_coloring(graph[index]						,   snake_case__						,   snake_case__     ):
      # Color current vertex
      _UpperCAmelCase		:							Union[str, Any]							=     i
      # Validate coloring
      if util_color(snake_case__						,   snake_case__						,   snake_case__						,   index + 1     ):
        return True
      # Backtrack
      _UpperCAmelCase		:							int							=     -1
  return False





def    a__    (		snake_case__					:							list[list[int]]						,   snake_case__					:							int     ):
  _UpperCAmelCase		:							List[Any]							=     [-1] * len(snake_case__     )

  if util_color(snake_case__						,   snake_case__						,   snake_case__						,   0     ):
    return colored_vertices

  return []









def    a__    (		snake_case__					:							int						,   snake_case__					:							int     ):
  return x if y == 0 else greatest_common_divisor(snake_case__						,   x % y     )




def    a__    (		snake_case__					:							int						,   snake_case__					:							int     ):
  return (x * y) // greatest_common_divisor(snake_case__						,   snake_case__     )




def    a__    (		snake_case__					:							int = 20     ):
  _UpperCAmelCase		:							Union[str, Any]							=     1
  for i in range(1						,   n + 1     ):
    _UpperCAmelCase		:							Dict							=     lcm(snake_case__						,   snake_case__     )
  return g


if __name__ == "__main__":
 print(F'{solution() = }')





