
'''simple docstring'''

def 	A  (   UpperCamelCase_       :  Optional[Any]    ,						UpperCamelCase_       :  Optional[int]   )       ->							int:







			'''simple docstring'''



			lowerCAmelCase__										=				0
			while b > 0:
						if b & 1:
									res += a

						a += a
						b >>= 1

			return res







def 	A  (   UpperCamelCase_       :  List[str]    ,						UpperCamelCase_       :  Dict    ,						UpperCamelCase_       :  int   )       ->							Tuple:







			'''simple docstring'''



			lowerCAmelCase__										=				0
			while b > 0:
						if b & 1:
									lowerCAmelCase__										=				((res % c) + (a % c)) % c

						a += a
						b >>= 1

			return res










# this script reports modified .py files under the desired list of top-level sub-dirs passed as a list of arguments, e.g.:
#   python ./utils/get_modified_files.py utils src tests examples
#
# it uses git to find the forking point and which files were modified - i.e. files not under git won't be considered
# since the output of this script is fed into Makefile commands it doesn't print a newline after the results

import re
import subprocess
import sys


lowerCamelCase		       =      subprocess.check_output("""git merge-base main HEAD""".split()).decode("""utf-8""")
lowerCamelCase		       =      subprocess.check_output(F'git diff --name-only {fork_point_sha}'.split()).decode("""utf-8""").split()

lowerCamelCase		       =      """|""".join(sys.argv[1:])
lowerCamelCase		       =      re.compile(RF'^({joined_dirs}).*?\.py$')

lowerCamelCase		       =      [x for x in modified_files if regex.match(x)]
print(""" """.join(relevant_modified_files), end="""""")


