





def     a						(      _lowercase   :     str = "mytext.txt" ,						_lowercase   :     bool = False       )     ->None:
  import socket

  UpperCamelCase__         =	1_2_3_1_2  # Reserve a port for your service.
  UpperCamelCase__         =	socket.socket()  # Create a socket object
  UpperCamelCase__         =	socket.gethostname()  # Get local machine name
  sock.bind((host, port)       )  # Bind to the port
  sock.listen(5       )  # Now wait for client connection.

  print("""Server listening...."""       )

  while True:
    UpperCamelCase__  ,			UpperCamelCase__         =	sock.accept()  # Establish connection with client.
    print(F"""Got connection from {addr}"""       )
    UpperCamelCase__         =	conn.recv(1_0_2_4       )
    print(F"""Server received: {data = }"""       )

    with open(a_ ,						"""rb"""       ) as in_file:
      UpperCamelCase__         =	in_file.read(1_0_2_4       )
      while data:
        conn.send(a_       )
        print(F"""Sent {data!r}"""       )
        UpperCamelCase__         =	in_file.read(1_0_2_4       )

    print("""Done sending"""       )
    conn.close()
    if testing:  # Allow the test to complete
      break

  sock.shutdown(1       )
  sock.close()


if __name__ == "__main__":
    send_file()












__lowerCAmelCase     =			{
    "0": 1,
    "1": 1,
    "2": 2,
    "3": 6,
    "4": 24,
    "5": 120,
    "6": 720,
    "7": 5_040,
    "8": 40_320,
    "9": 362_880,
}

__lowerCAmelCase     =			{145: 145}

__lowerCAmelCase     =			{
    145: 0,
    169: 3,
    36_301: 3,
    1_454: 3,
    871: 2,
    45_361: 2,
    872: 2,
}

def     a						(      _lowercase   :     int       )     ->int:
		if n in CACHE_SUM_DIGIT_FACTORIALS:
				return CACHE_SUM_DIGIT_FACTORIALS[n]
		UpperCamelCase__         =	sum(DIGIT_FACTORIALS[let] for let in str(_lowercase       )       )
		UpperCamelCase__         =	ret
		return ret

def     a						(      _lowercase   :     int ,						_lowercase   :     set | None = None       )     ->int:
		UpperCamelCase__         =	previous or set()
		if n in CHAIN_LENGTH_CACHE:
				return CHAIN_LENGTH_CACHE[n]
		UpperCamelCase__         =	sum_digit_factorials(_lowercase       )
		if next_number in previous:
				UpperCamelCase__         =	0
				return 0
		else:
				previous.add(_lowercase       )
				UpperCamelCase__         =	1 + chain_length(_lowercase ,						_lowercase       )
				UpperCamelCase__         =	ret
				return ret

def     a						(      _lowercase   :     int = 6_0 ,						_lowercase   :     int = 1_0_0_0_0_0_0       )     ->int:
		return sum(1 for i in range(1 ,						_lowercase       ) if chain_length(_lowercase       ) == num_terms       )


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





