#P1297A. Likes Display

    ID: 1829 Type: RemoteJudge 3000ms 256MiB Tried: 0 Accepted: 0 Difficulty: (None) Uploaded By: Tags>*special problemimplementation

Likes Display

No submission language available for this problem.

Description

Polycarp is working on the implementation of displaying likes on the Codehorses social network. The number of likes should be displayed in a format that will be easy to read by users. It was decided that for large numbers of likes the format should be like 123K (one hundred twenty-three thousand) or like 56M (fifty-six million).

The following displaying strategy has been approved:

  • the number will be displayed either as an integer number from 0 to 999, or as a positive integer number of thousands (from 1K to 999K), or as a positive integer number of millions (from 1M on),
  • the specified exact number of likes nn when displaying should be rounded to the nearest view from the case above (if rounding is ambiguous, it must be rounded up): for example, 17851785 should be rounded to 2K instead of 1K, 45000004500000 should be rounded to 5M.

Help Polycarp implement this part of the functionality: for a given non-negative integer number of likes nn, print its view in the Codehorses interface.

The first line contains an integer tt (1t10001 \le t \le 1000) — the number of test cases in the input. The following are descriptions of the tt input test cases, one per line.

The description of each test case consists of a single line that contains a non-negative integer nn (0n21090 \le n \le 2\cdot10^9) — the number of likes.

Print tt answers to the given test cases in the order from the input. Each printed value must have one of the following types:

  • either an integer from 0 to 999 which corresponds just to the number of likes,
  • or a number of thousands from 1K to 999K,
  • or a number of millions from 1M to 2000M.

The answer is equal to a view which is the closest (by difference) to the given number nn. If this rounding is ambiguous, then round answer up (to a greater value).

Input

The first line contains an integer tt (1t10001 \le t \le 1000) — the number of test cases in the input. The following are descriptions of the tt input test cases, one per line.

The description of each test case consists of a single line that contains a non-negative integer nn (0n21090 \le n \le 2\cdot10^9) — the number of likes.

Output

Print tt answers to the given test cases in the order from the input. Each printed value must have one of the following types:

  • either an integer from 0 to 999 which corresponds just to the number of likes,
  • or a number of thousands from 1K to 999K,
  • or a number of millions from 1M to 2000M.

The answer is equal to a view which is the closest (by difference) to the given number nn. If this rounding is ambiguous, then round answer up (to a greater value).

Samples

Sample Input 1

9
999
123
0
1782
31415926
1500
999999
35499710
2000000000

Sample Output 1

999
123
0
2K
31M
2K
1M
35M
2000M

Note

Let's describe some test cases:

  • 17821782 can be displayed either as 1K or as 2K but 2K is the nearest view;
  • 15001500 have same difference with 1K and 2K so it should be rounded up;
  • 999999999999 should be displayed as 1M since it's closer to it than to 999K.