BASE32 인코딩

아직 제출이 없습니다시간 제한1초메모리 제한256 MB

문제

문자열 S를 BASE32로 인코딩한 결과를 출력하는 프로그램을 작성하시오.

BASE32 인코딩은 다음 순서로 진행한다.

  1. S를 ASCII 바이트 열로 본다.
  2. 바이트를 앞에서부터 5개씩 묶는다. 5바이트는 40비트이고, 이를 5비트씩 8조각으로 나눈다.
  3. 각 조각이 나타내는 0 이상 31 이하의 값을 문자표 ABCDEFGHIJKLMNOPQRSTUVWXYZ234567의 같은 위치에 있는 문자로 바꾼다. 값 0은 A, 값 25는 Z, 값 26은 2, 값 31은 7이다.
  4. 마지막 묶음의 바이트가 5개보다 적으면 뒤에 0비트를 채워 40비트로 만든 다음 같은 방법으로 8글자를 만들고, 남은 바이트 수에 따라 뒤쪽 글자를 =로 바꾼다. 남은 바이트가 1개면 뒤 6글자, 2개면 4글자, 3개면 3글자, 4개면 1글자가 =이다.

입력

첫째 줄에 문자열 S가 주어진다. S는 알파벳 대문자와 소문자, 숫자로만 이루어져 있고, 길이는 1 이상 50 이하이다.

출력

첫째 줄에 S를 BASE32로 인코딩한 값을 출력한다.