Base64 is a standard for encoding binary data using only 64 ASCII characters. The encoding alphabet contains the Latin characters A-Z, a-z and 0-9 (62 characters) and two additional characters depending on the implementation system. Every three original bytes are encoded with four characters (thus increasing the number of bytes by $$$25\%$$$). For the purpose of this task, the additional characters are + and /.
To convert data to base64, the first byte is placed in the most significant eight bits of a 24-bit buffer, the next one in the middle eight, and the third one in the least significant eight bits. If less than three bytes are encoded, then the corresponding buffer bits are set to zero. Then every six bits of the buffer, starting with the most significant ones, are used as indexes of the string ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/ (indexing starts from zero) and its characters, pointed to by the indices, are placed in the output string. If only one or two bytes are encoded, the result is only the first two or three characters of the string, and the output string is padded with two or one = characters. The process is repeated on the remaining input data.
The table shows the result of encoding the Cat string:

Write a program that encodes a sequence of bytes using the base64 standard.
The first line contains the decimal representation of the length of the encoded sequence (an integer from $$$1$$$ to $$$50\000$$$). The second line contains the values of each byte of this sequence, written as two hexadecimal digits (hexadecimal digits are selected from the string 0123456789ABCDEF) These values are separated by single spaces. There are no spaces at the beginning or end of the string.
Output the source sequence encoded according to the base64 standard.
3 43 61 74
Q2F0
4 0F DD A4 12
D92kEg==
The first example matches the table from the condition.
| Name |
|---|


