Akbar has a file of size of $$$m$$$ bytes on his hard drive. He wants to display the approximate size of this file in a "human readable" way.
Any "human-readable" representation is in the form of "$$$n$$$U" which includes two parts :
For example, a "37MiB" representation is a "human-readable" representation. which the "number" part is $$$37$$$ and the "unit" part is "MiB". But "$$$12$$$ bytes" (because byte is not allowed among the words) or "40000KiB" (the number is more than $$$1023$$$) is not "readable by humans".
Also we know that "B" means byte and :
Note that we cannot always display the exact size of a file in a "human-readable" way, and sometimes we have to approximate it. We ask you to always round down when approximating. To better understand this issue, pay attention to the samples.
In the first line of input ybe given $$$t$$$ which shows the number of testcases :
$$$1 \le t \le 100$$$.
In the next $$$t$$$ lines you'll be given a number $$$m$$$ which shows the size of Akbar's file.
$$$1 \le m \le 10^9$$$.
In each line, print the size of the file related to that test in a "human-readable" way.
Note that the judging system is case sensitive.
According to the limitations of the question, it can be proved that the answer to the problem is always unique.
329140114510629
29B 1KiB 13MiB
The first test's file size is $$$29$$$ bytes. So it's human-readable representation is "29B".
The second test's file size is $$$1401$$$ bytes. Considering that the "number" in the "human-readable" display must be in the range of $$$1$$$ to $$$1023$$$, the display of "1401B" or "0MiB" is not correct and the correct display is "1KiB".
The third test's file size is $$$14510629$$$. Due to the limitation of "number" in "human readable" display, we must use the "MiB" unit. The closest number is $$$13.8$$$, but the size must be an integer and positive, and since we have to approximate downwards, we choose "13MiB".
| Name |
|---|


