B. Captain Flint and a Long Voyage

time limit per test

2 seconds

memory limit per test

256 megabytes

input

standard input

output

standard output

Captain Flint and his crew keep heading to a savage shore of Byteland for several months already, drinking rum and telling stories. In such moments uncle Bogdan often remembers his nephew Denis. Today, he has told a story about how Denis helped him to come up with an interesting problem and asked the crew to solve it.

In the beginning, uncle Bogdan wrote on a board a positive integer xx consisting of nn digits. After that, he wiped out xx and wrote integer kk instead, which was the concatenation of binary representations of digits xx consists of (without leading zeroes). For example, let x=729x=729, then k=111101001k=111101001 (since 7=1117=111, 2=102=10, 9=10019=1001).

After some time, uncle Bogdan understood that he doesn't know what to do with kk and asked Denis to help. Denis decided to wipe last nn digits of kk and named the new number as rr.

As a result, Denis proposed to find such integer xx of length nn that rr (as number) is maximum possible. If there are multiple valid xx then Denis is interested in the minimum one.

All crew members, including captain Flint himself, easily solved the task. All, except cabin boy Kostya, who was too drunk to think straight. But what about you?

Note: in this task, we compare integers (xx or kk) as numbers (despite what representations they are written in), so 729<1999729<1999 or 111<1000111<1000.

Input

The first line contains a single integer tt (1≤t≤10001≤t≤1000) — the number of test cases.

Next tt lines contain test cases — one per test case. The one and only line of each test case contains the single integer nn (1≤n≤1051≤n≤105) — the length of the integer xx you need to find.

It's guaranteed that the sum of nn from all test cases doesn't exceed 2⋅1052⋅105.

Output

For each test case, print the minimum integer xx of length nn such that obtained by Denis number rr is maximum possible.

Example

input

Copy

2
1
3

output

Copy

8
998

Note

In the second test case (with n=3n=3), if uncle Bogdan had x=998x=998 then k=100110011000k=100110011000. Denis (by wiping last n=3n=3 digits) will obtain r=100110011r=100110011.

It can be proved that the 100110011100110011 is the maximum possible rr Denis can obtain and 998998 is the minimum xx to obtain it.

解题说明:此题采用贪心算法,为了确保k最大,前面全部选择9,后面抹去的部分选择8即可,也就是x的最后的n/4+1位换成8。


#include

long long t, n, x, i;

int main()
{
	scanf("%lld", &t);
	while (t--)
	{
		scanf("%lld", &n);
		x = (n - 1) / 4;
		for (i = 1; i <= n - x - 1; i++)
		{
			printf("9");
		}
		for (i = 1; i <= x; i++)
		{
			printf("8");
		}
		printf("8\n");
	}
	return 0;
}

 

你可能感兴趣的:(AC路漫漫)