다음과 같이 Encoding 을 한다.
우선 24비트 버퍼에 위쪽(MSB)부터 한 byte씩 3 byte의 문자를 집어넣는다.
버퍼의 위쪽부터 6비트씩 잘라 그 값을 읽고, 각각의 값을 아래 [표-1] 의 문자로 Encoding 한다.

입력으로 Base64 Encoding 된 String 이 주어졌을 때, 해당 String 을 Decoding 하여, 원문을 출력하는 프로그램을 작성하시오.
문자열의 길이는 항상 4의 배수로 주어진다.
그리고 문자열의 길이는 100000을 넘지 않는다.
입력은 첫 줄에 총 테스트 케이스의 개수 T가 온다.
다음 줄부터 각 테스트 케이스가 주어진다.
테스트 케이스는 Encoding 된 상태로 주어지는 문자열이다.
테스트 케이스 t에 대한 결과는 “#t”을 찍고, 한 칸 띄고, 정답을 출력한다.
(t는 테스트 케이스의 번호를 의미하며 1부터 시작한다.)

# dic 리스트에 인코딩 값 넣기
dic = ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z',
'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z',
'0','1','2','3','4','5','6','7','8','9','+','/' ]
T = int(input())
for test_case in range(1, T + 1):
word = list(input())
value = ''
for j in range(len(word)):
# num 변수에 dic 리스트 인덱스값 넣기
num = dic.index(word[j])
# 2진수로 변환하고 맨 앞의 '0b'를 제거하기 위해 2번 인덱스부터 저장하기
bin_num = str(bin(num)[2:])
# bin_num 값 빈 자리를 0으로 채우기
while len(bin_num) < 6:
bin_num = '0' + bin_num
value += bin_num
result = ''
# 10진수로 변환하기 위해 8자리로 만들어줌 (입력값*6) // 8
for k in range(len(word)*6 // 8):
# 10진수로 변환
number = int(value[k*8 : k*8+8], 2)
result += chr(number)
print('#%d %s' % (test_case, result))