
from bisect import bisect
from itertools import accumulate




def 	_SCREAMING_SNAKE_CASE					(		_lowerCamelCase :			List[Any]						,  _lowerCamelCase :			int						,  _lowerCamelCase :			Optional[Any]						,  _lowerCamelCase :			Optional[Any])					->    Optional[int]:






							'''simple docstring'''





							__UpperCamelCase	:   Union[str, Any]			   =					sorted(zip(_lowerCamelCase						,  _lowerCamelCase)						,  key=lambda _lowerCamelCase: x[0] / x[1]						,  reverse=_lowerCamelCase)
							__UpperCamelCase   ,						__UpperCamelCase	:   Union[str, Any]			   =					[i[0] for i in r], [i[1] for i in r]
							__UpperCamelCase	:   Dict			   =					list(accumulate(_lowerCamelCase))
							__UpperCamelCase	:   Optional[int]			   =					bisect(_lowerCamelCase						,  _lowerCamelCase)
							return (
							    0
							    if k == 0
							    else sum(vl[:k]) + (w - acc[k - 1]) * (vl[k]) / (wt[k])
							    if k != n
							    else sum(vl[:k])
							)


if __name__ == "__main__":
		import doctest

		doctest.testmod()





def 			_SCREAMING_SNAKE_CASE			(							lowercase	:       int	,							lowercase	:       int     ):


      '''simple docstring'''



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

def 			_SCREAMING_SNAKE_CASE			(							):


      '''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))



