#P1297A. Likes Display
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 when displaying should be rounded to the nearest view from the case above (if rounding is ambiguous, it must be rounded up): for example, should be rounded to 2K instead of 1K, should be rounded to 5M.
Help Polycarp implement this part of the functionality: for a given non-negative integer number of likes , print its view in the Codehorses interface.
The first line contains an integer () — the number of test cases in the input. The following are descriptions of the input test cases, one per line.
The description of each test case consists of a single line that contains a non-negative integer () — the number of likes.
Print 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 . If this rounding is ambiguous, then round answer up (to a greater value).
Input
The first line contains an integer () — the number of test cases in the input. The following are descriptions of the input test cases, one per line.
The description of each test case consists of a single line that contains a non-negative integer () — the number of likes.
Output
Print 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 . If this rounding is ambiguous, then round answer up (to a greater value).
Samples
Note
Let's describe some test cases:
- can be displayed either as 1K or as 2K but 2K is the nearest view;
- have same difference with 1K and 2K so it should be rounded up;
- should be displayed as 1M since it's closer to it than to 999K.