Gate Programming And Data Structures