"""simple docstring"""
from abc import ABC, abstractmethod
from typing import Optional, Union

from .. import Dataset, DatasetDict, Features, IterableDataset, IterableDatasetDict, NamedSplit
from ..utils.typing import NestedDataStructureLike, PathLike



class   lowerCAmelCase_    (			lowerCAmelCase					):



				"""simple docstring"""

				def __init__(				self		,    lowerCAmelCase = None		,    lowerCAmelCase = None		,    lowerCAmelCase = None		,    lowerCAmelCase = None		,    lowerCAmelCase = False		,    lowerCAmelCase = False		,    lowerCAmelCase = None		,    **lowerCAmelCase		,    ):






										"""simple docstring"""

										snake_case								=			path_or_paths
										snake_case								=			split if split or isinstance(lowerCAmelCase		,    lowerCAmelCase    ) else 'train'
										snake_case								=			features
										snake_case								=			cache_dir
										snake_case								=			keep_in_memory
										snake_case								=			streaming
										snake_case								=			num_proc
										snake_case								=			kwargs

				@abstractmethod
				def 		snake_case (				self    ):






										"""simple docstring"""

										pass





class   lowerCAmelCase_    (			lowerCAmelCase					):



				"""simple docstring"""

				def __init__(				self		,    lowerCAmelCase = None		,    lowerCAmelCase = None		,    lowerCAmelCase = False		,    lowerCAmelCase = False		,    lowerCAmelCase = None		,    **lowerCAmelCase		,    ):






										"""simple docstring"""

										snake_case								=			features
										snake_case								=			cache_dir
										snake_case								=			keep_in_memory
										snake_case								=			streaming
										snake_case								=			num_proc
										snake_case								=			kwargs

				@abstractmethod
				def 		snake_case (				self    ):






										"""simple docstring"""

										pass



"""simple docstring"""
def    lowerCAmelCase__    (			_UpperCamelCase       :				int ,			_UpperCamelCase       :				int					)					->				int:





						"""simple docstring"""






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





def    lowerCAmelCase__    (			)					->				None:





						"""simple docstring"""






						assert and_gate(0 ,			0					) == 0
						assert and_gate(0 ,			1					) == 0
						assert and_gate(1 ,			0					) == 0
						assert and_gate(1 ,			1					) == 1


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


