





"""simple docstring"""
__UpperCamelCase    :	Tuple						=     {0: [1, 2], 1: [0, 3], 2: [0], 3: [1], 4: [5, 6], 5: [4, 6], 6: [4, 5]}

__UpperCamelCase    :	Any						=     {0: [1, 2, 3], 1: [0, 3], 2: [0], 3: [0, 1], 4: [], 5: []}

def 		_SCREAMING_SNAKE_CASE (_UpperCAmelCase				:						dict     ,    _UpperCAmelCase				:						int     ,    _UpperCAmelCase				:						list ):
 lowerCAmelCase													=   True
 lowerCAmelCase													=   []

 for neighbour in graph[vert]:
  if not visited[neighbour]:
   connected_verts += dfs(_UpperCAmelCase     ,    _UpperCAmelCase     ,    _UpperCAmelCase )

 return [vert, *connected_verts]

def 		_SCREAMING_SNAKE_CASE (_UpperCAmelCase				:						dict ):
 lowerCAmelCase													=   len(_UpperCAmelCase )
 lowerCAmelCase													=   graph_size * [False]
 lowerCAmelCase													=   []

 for i in range(_UpperCAmelCase ):
  if not visited[i]:
   lowerCAmelCase													=   dfs(_UpperCAmelCase     ,    _UpperCAmelCase     ,    _UpperCAmelCase )
   components_list.append(_UpperCAmelCase )

 return components_list


if __name__ == "__main__":
       import doctest

       doctest.testmod()












"""simple docstring"""
import math

def 		_SCREAMING_SNAKE_CASE (_UpperCAmelCase				:						int ):

 if 1 < number < 4:
  # 2 and 3 are primes
  return True
 elif number < 2 or number % 2 == 0 or number % 3 == 0:
  # Negatives, 0, 1, all even numbers, all multiples of 3 are not primes
  return False

 # All primes number are in format of 6k +/- 1
 for i in range(5     ,    int(math.sqrt(_UpperCAmelCase ) + 1 )     ,    6 ):
  if number % i == 0 or number % (i + 2) == 0:
   return False
 return True

def 		_SCREAMING_SNAKE_CASE (_UpperCAmelCase				:						int = 200_0000 ):
 return sum(num for num in range(3     ,    _UpperCAmelCase     ,    2 ) if is_prime(_UpperCAmelCase ) ) + 2 if n > 2 else 0


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





