



"""simple docstring"""






import argparse
import datetime




def 			snake_case		(		lowerCAmelCase_	)						->				str:
  _snake_case   	=      {
      '''0''': '''Sunday''',
      '''1''': '''Monday''',
      '''2''': '''Tuesday''',
      '''3''': '''Wednesday''',
      '''4''': '''Thursday''',
      '''5''': '''Friday''',
      '''6''': '''Saturday''',
  }

  _snake_case   	=      {0: 1, 1: 2, 2: 3, 3: 4, 4: 5, 5: 6, 6: 0}

  # Validate
  if not 0 < len(lowerCAmelCase_	) < 11:
    raise ValueError('''Must be 10 characters long'''	)

  # Get month
  _snake_case   	=      int(date_input[0] + date_input[1]	)
  # Validate
  if not 0 < m < 13:
    raise ValueError('''Month must be between 1 - 12'''	)

  _snake_case   	=      date_input[2]
  # Validate
  if sep_a not in ["-", "/"]:
    raise ValueError('''Date separator must be \'-\' or \'/\''''	)

  # Get day
  _snake_case   	=      int(date_input[3] + date_input[4]	)
  # Validate
  if not 0 < d < 32:
    raise ValueError('''Date must be between 1 - 31'''	)

  # Get second separator
  _snake_case   	=      date_input[5]
  # Validate
  if sep_a not in ["-", "/"]:
    raise ValueError('''Date separator must be \'-\' or \'/\''''	)

  # Get year
  _snake_case   	=      int(date_input[6] + date_input[7] + date_input[8] + date_input[9]	)
  # Arbitrary year range
  if not 45 < y < 8500:
    raise ValueError(
        '''Year out of range. There has to be some sort of limit...right?'''	)

  # Get datetime obj for validation
  _snake_case   	=      datetime.date(int(lowerCAmelCase_	)  ,						int(lowerCAmelCase_	)  ,						int(lowerCAmelCase_	)	)

  # Start math
  if m <= 2:
    _snake_case   	=      y - 1
    _snake_case   	=      m + 12
  # maths var
  _snake_case   	=      int(str(lowerCAmelCase_	)[:2]	)
  _snake_case   	=      int(str(lowerCAmelCase_	)[2:]	)
  _snake_case   	=      int(2.6 * m - 5.39	)
  _snake_case   	=      int(c / 4	)
  _snake_case   	=      int(k / 4	)
  _snake_case   	=      int(d + k	)
  _snake_case   	=      int(t + u + v + x	)
  _snake_case   	=      int(z - (2 * c)	)
  _snake_case   	=      round(w % 7	)
  # End math

  # Validate math
  if f != convert_datetime_days[dt_ck.weekday()]:
    raise AssertionError('''The date was evaluated incorrectly. Contact developer.'''	)

  # Response
  _snake_case   	=      f"""Your date {date_input}, is a {days[str(lowerCAmelCase_	)]}!"""
  return response


if __name__ == "__main__":
     import doctest

     doctest.testmod()
     snake_case   					=				argparse.ArgumentParser(
         description=(
             '''Find out what day of the week nearly any date is or was. Enter '''
             '''date as a string in the mm-dd-yyyy or mm/dd/yyyy format'''
         )
     )
     parser.add_argument(
         '''date_input''', type=str, help='''Date as a string (mm-dd-yyyy or mm/dd/yyyy)'''
     )
     snake_case   					=				parser.parse_args()
     zeller(args.date_input)










"""simple docstring"""






from itertools import product




def 			snake_case		(		lowerCAmelCase_  ,						lowerCAmelCase_	)						->				list[int]:
  _snake_case   	=      sides_number
  _snake_case   	=      max_face_number * dice_number
  _snake_case   	=      [0] * (max_total + 1)

  _snake_case   	=      1
  _snake_case   	=      range(lowerCAmelCase_  ,						max_face_number + 1	)
  for dice_numbers in product(lowerCAmelCase_  ,						repeat=lowerCAmelCase_	):
    _snake_case   	=      sum(lowerCAmelCase_	)
    totals_frequencies[total] += 1

  return totals_frequencies




def 			snake_case		(		)						->				float:
  _snake_case   	=      total_frequency_distribution(
      sides_number=4  ,						dice_number=9	)
  _snake_case   	=      total_frequency_distribution(
      sides_number=6  ,						dice_number=6	)

  _snake_case   	=      0
  _snake_case   	=      9
  _snake_case   	=      4 * 9
  _snake_case   	=      6
  for peter_total in range(lowerCAmelCase_  ,						max_peter_total + 1	):
    peter_wins_count += peter_totals_frequencies[peter_total] * sum(
        colin_totals_frequencies[min_colin_total:peter_total]	)

  _snake_case   	=      (4**9) * (6**6)
  _snake_case   	=      peter_wins_count / total_games_number

  _snake_case   	=      round(lowerCAmelCase_  ,						ndigits=7	)

  return rounded_peter_win_probability


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





