

# 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     :   Optional[int]						     =  subprocess.check_output('git merge-base main HEAD'.split()).decode('utf-8')
lowerCAmelCase     :   Optional[Any]						     =  subprocess.check_output(F'git diff --name-only {fork_point_sha}'.split()).decode('utf-8').split()

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

lowerCAmelCase     :   Optional[Any]						     =  [x for x in modified_files if regex.match(x)]
print(' '.join(relevant_modified_files), end='')









def    A_  (							a  ):

      """simple docstring"""



      SCREAMING_SNAKE_CASE_				:  List[Any]           =     0
      while num > 0:
            digit_sum += num % 1_0
            num //= 1_0
      return digit_sum

def    A_  (							a = 1_0_0  ):

      """simple docstring"""



      SCREAMING_SNAKE_CASE_				:  List[str]           =     1
      SCREAMING_SNAKE_CASE_				:  Union[str, Any]           =     2

      for i in range(2					,   max_n + 1  ):
            SCREAMING_SNAKE_CASE_				:  List[str]           =     pre_numerator
            SCREAMING_SNAKE_CASE_				:  str           =     2 * i // 3 if i % 3 == 0 else 1
            SCREAMING_SNAKE_CASE_				:  Tuple           =     cur_numerator
            SCREAMING_SNAKE_CASE_				:  Tuple           =     e_cont * pre_numerator + temp

      return sum_digits(a  )


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






