



def 	lowerCamelCase_   (  _a    :		int					,						_a    :		Tuple  ):



    '''simple docstring'''




    UpperCAmelCase_			:    Union[str, Any]   						= len(__lowerCAmelCase  )
    UpperCAmelCase_			:    Union[str, Any]   						= [[False] * (required_sum + 1) for _ in range(arr_len + 1  )]

    # for each arr value, a sum of zero(0) can be formed by not taking any element
    # hence True/1
    for i in range(arr_len + 1  ):
        UpperCAmelCase_			:    Any   						= True

    # sum is not zero and set is empty then false
    for i in range(1					,						required_sum + 1  ):
        UpperCAmelCase_			:    Any   						= False

    for i in range(1					,						arr_len + 1  ):
        for j in range(1					,						required_sum + 1  ):
            if arr[i - 1] > j:
                UpperCAmelCase_			:    Tuple   						= subset[i - 1][j]
            if arr[i - 1] <= j:
                UpperCAmelCase_			:    int   						= subset[i - 1][j] or subset[i - 1][j - arr[i - 1]]

    return subset[arr_len][required_sum]


if __name__ == "__main__":
      import doctest

      doctest.testmod()





def 			_lowerCAmelCase       (					__lowerCAmelCase  ,  __lowerCAmelCase      )   ->					int:


				"""simple docstring"""

				return int((input_a, input_a).count(1      ) != 0      )



def 			_lowerCAmelCase       (					)   ->					None:


				"""simple docstring"""

				assert or_gate(0  ,  0      ) == 0
				assert or_gate(0  ,  1      ) == 1
				assert or_gate(1  ,  0      ) == 1
				assert or_gate(1  ,  1      ) == 1


if __name__ == "__main__":
				print(or_gate(0, 1))
				print(or_gate(1, 0))
				print(or_gate(0, 0))
				print(or_gate(1, 1))

