






"""simple docstring"""





def     __lowercase					(    a :				List[str]       ,		a :				Union[str, Any] )					->					Optional[int]:
      __snake_case      :    Optional[int]  			=''''''
      for i in table:
            res += inp[i - 1]
      return res



def     __lowercase					(    a :				List[str] )					->					List[str]:
      return data[1:] + data[0]



def     __lowercase					(    a :				Tuple       ,		a :				List[Any] )					->					str:
      __snake_case      :    Union[str, Any]  			=''''''
      for i in range(len(a ) ):
            if a[i] == b[i]:
                  res += "0"
            else:
                  res += "1"
      return res



def     __lowercase					(    a :				Dict       ,		a :				Union[str, Any] )					->					Optional[int]:
      __snake_case      :    List[Any]  			=int('''0b''' + data[0] + data[-1]       ,		2 )
      __snake_case      :    Dict  			=int('''0b''' + data[1:3]       ,		2 )
      return bin(s[row][col] )[2:]



def     __lowercase					(    a :				Optional[Any]       ,		a :				Any       ,		a :				Optional[int]       ,		a :				List[str]       ,		a :				int )					->					Optional[Any]:
      __snake_case      :    Optional[Any]  			=message[:4]
      __snake_case      :    Dict  			=message[4:]
      __snake_case      :    str  			=apply_table(a       ,		a )
      __snake_case      :    Optional[int]  			=xor(a       ,		a )
      __snake_case      :    str  			=apply_sbox(a       ,		temp[:4] )  # noqa: E741
      __snake_case      :    int  			=apply_sbox(a       ,		temp[4:] )
      __snake_case      :    List[str]  			='''0''' * (2 - len(a )) + l  # noqa: E741
      __snake_case      :    List[str]  			='''0''' * (2 - len(a )) + r
      __snake_case      :    int  			=apply_table(l + r       ,		a )
      __snake_case      :    Optional[int]  			=xor(a       ,		a )
      return temp + right


if __name__ == "__main__":
    UpperCamelCase_	:				Tuple										= input("""Enter 10 bit key: """)
    UpperCamelCase_	:				List[Any]										= input("""Enter 8 bit message: """)

    UpperCamelCase_	:				str										= [6, 3, 7, 4, 8, 5, 10, 9]
    UpperCamelCase_	:				List[str]										= [3, 5, 2, 7, 4, 10, 1, 9, 8, 6]
    UpperCamelCase_	:				Tuple										= [2, 4, 3, 1]
    UpperCamelCase_	:				Dict										= [2, 6, 3, 1, 4, 8, 5, 7]
    UpperCamelCase_	:				int										= [4, 1, 3, 5, 7, 2, 8, 6]
    UpperCamelCase_	:				List[str]										= [4, 1, 2, 3, 2, 3, 4, 1]
    UpperCamelCase_	:				Dict										= [[1, 0, 3, 2], [3, 2, 1, 0], [0, 2, 1, 3], [3, 1, 3, 2]]
    UpperCamelCase_	:				Optional[int]										= [[0, 1, 2, 3], [2, 0, 1, 3], [3, 0, 1, 0], [2, 1, 0, 3]]

    # key generation
    UpperCamelCase_	:				Optional[int]										= apply_table(key, paa_table)
    UpperCamelCase_	:				Optional[int]										= temp[:5]
    UpperCamelCase_	:				Dict										= temp[5:]
    UpperCamelCase_	:				List[Any]										= left_shift(left)
    UpperCamelCase_	:				Optional[int]										= left_shift(right)
    UpperCamelCase_	:				List[str]										= apply_table(left + right, pa_table)
    UpperCamelCase_	:				Optional[Any]										= left_shift(left)
    UpperCamelCase_	:				List[str]										= left_shift(right)
    UpperCamelCase_	:				Optional[int]										= left_shift(left)
    UpperCamelCase_	:				Optional[Any]										= left_shift(right)
    UpperCamelCase_	:				Dict										= apply_table(left + right, pa_table)

    # encryption
    UpperCamelCase_	:				Any										= apply_table(message, IP)
    UpperCamelCase_	:				Any										= function(expansion, sa, sa, keya, temp)
    UpperCamelCase_	:				Any										= temp[4:] + temp[:4]
    UpperCamelCase_	:				Optional[int]										= function(expansion, sa, sa, keya, temp)
    UpperCamelCase_	:				Any										= apply_table(temp, IP_inv)
    print("""Cipher text is:""", CT)

    # decryption
    UpperCamelCase_	:				List[Any]										= apply_table(CT, IP)
    UpperCamelCase_	:				Optional[int]										= function(expansion, sa, sa, keya, temp)
    UpperCamelCase_	:				Optional[int]										= temp[4:] + temp[:4]
    UpperCamelCase_	:				List[str]										= function(expansion, sa, sa, keya, temp)
    UpperCamelCase_	:				Tuple										= apply_table(temp, IP_inv)
    print("""Plain text after decypting is:""", PT)










"""simple docstring"""





def     __lowercase					(    a :				int       ,		a :				int )					->					int:
      return x if y == 0 else greatest_common_divisor(a       ,		x % y )



def     __lowercase					(    a :				int       ,		a :				int )					->					int:
      return (x * y) // greatest_common_divisor(a       ,		a )



def     __lowercase					(    a :				int = 20 )					->					int:
      __snake_case      :    Optional[Any]  			=1
      for i in range(1       ,		n + 1 ):
            __snake_case      :    Optional[int]  			=lcm(a       ,		a )
      return g


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


