Problem Description Mike does not want others to view his messages, so he find a encode method Base64. Here is an example of the note in Chinese Passport. The Ministry of Foreign Affairs of the People’s Republic of China requests all civil and military authorities of foreign countries to allow the bearer of this passport to pass freely and afford assistance in case of need.
In the above text, the encoded result of The is VGhl. Encoded in ASCII, the characters T, h, and e are stored as the bytes 84, 104, and 101, which are the 8-bit binary values 01010100, 01101000, and 01100101. These three values are joined together into a 24-bit string, producing 010101000110100001100101. Groups of 6 bits (6 bits have a maximum of 2^6 = 64 different binary values) are converted into individual numbers from left to right (in this case, there are four numbers in a 24-bit string), which are then converted into their corresponding Base64 encoded characters. The Base64 index table is
In the above example, the string 010101000110100001100101 is divided into four parts 010101, 000110, 100001 and 100101, and converted into integers 21, 6, 33 and 37. Then we find them in the table, and get V, G, h, l. When the number of bytes to encode is not divisible by three (that is, if there are only one or two bytes of input for the last 24-bit block), then the following action is performed: Add extra bytes with value zero so there are three bytes, and perform the conversion to base64. If there was only one significant input byte, only the first two base64 digits are picked (12 bits), and if there were two significant input bytes, the first three base64 digits are picked (18 bits). ‘=’ characters are added to make the last block contain four base64 characters. As a result, when the last group contains one bytes, the four least significant bits of the final 6-bit block are set to zero; and when the last group contains two bytes, the two least significant bits of the final 6-bit block are set to zero. For example, base64(A) = QQ==, base64(AA) = QUE=. Now, Mike want you to help him encode a string for k times. Can you help him? For example, when we encode A for two times, we will get base64(base64(A)) = UVE9PQ==.
Input The first line contains an integer T(T≤20) denoting the number of test cases. In the following T lines, each line contains a case. In each case, there is a number k(1≤k≤5) and a string s. s only contains characters whose ASCII value are from 33 to 126(all visible characters). The length of s is no larger than 100.
Output For each test case, output Case #t:, to represent this is t-th case. And then output the encoded string.
Sample Input 2 1 Mike 4 Mike
Sample Output Case #1: TWlrZQ== Case #2: Vmtaa2MyTnNjRkpRVkRBOQ==
StreamTokenizer double navl ——> 如果当前标记是一个数字,则此字段将包含该数字的值。 String sval ——> 如果当前标记是一个文字标记,则此字段包含一个给出该文字标记的字符的字符串。 static int TT_EOF ——>指示已读到流末尾的常量。 static int TT_EOL ——->指示已读到行末尾的常量。 static int TT_NUMBER——->指示已读到一个数字标记的常量。 static int TT_WORD ——-> 指示已读到一个文字标记的常量。 int ttype ——–> 在调用 nextToken() 方法之后,此字段将包含刚读取的标记的类型。 The StreamTokenizer class takes an input stream and parses it into “tokens”, allowing the tokens to be read one at a time,这些符号的拆分是按照空格来确定的。