CF1974B Symmetric Encoding

Description

Polycarp has a string $ s $ , which consists of lowercase Latin letters. He encodes this string using the following algorithm: - first, he constructs a new auxiliary string $ r $ , which consists of all distinct letters of the string $ s $ , written in alphabetical order; - then the encoding happens as follows: each character in the string $ s $ is replaced by its symmetric character from the string $ r $ (the first character of the string $ r $ will be replaced by the last, the second by the second from the end, and so on). For example, encoding the string $ s $ ="codeforces" happens as follows: - the string $ r $ is obtained as "cdefors"; - the first character $ s_1 $ ='c' is replaced by 's'; - the second character $ s_2 $ ='o' is replaced by 'e'; - the third character $ s_3 $ ='d' is replaced by 'r'; - ... - the last character $ s_{10} $ ='s' is replaced by 'c'. ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF1974B/bdd77e5f1b5637622489d2d075a49b021a94a8b9.png) The string $ r $ and replacements for $ s $ ="codeforces".Thus, the result of encoding the string $ s $ ="codeforces" is the string "serofedsoc". Write a program that performs decoding — that is, restores the original string $ s $ from the encoding result.

Input Format

The first line contains a single integer $ t $ ( $ 1 \le t \le 10^4 $ ) — the number of test cases. The first line of each test case contains a single integer $ n $ ( $ 1 \le n \le 2 \cdot 10^5 $ ) — the length of the string $ b $ . The second line of each test case contains a string $ b $ of length $ n $ , consisting of lowercase Latin letters — the result of encoding the original string $ s $ . It is guaranteed that the sum of the values of $ n $ over all test cases in the test does not exceed $ 2 \cdot 10^5 $ .

Output Format

For each test case, output the string $ s $ from which the encoding result $ b $ was obtained.