Problem: Have you ever implemented a program adding two big integers that cannot be represented by the primitive data type of your programming language? The algorithm is just simulation of the column addition method that we have been taught in elementary school. Sometimes we forget the carry and the result is incorrect. 
 In this problem, you need to evaluate the expected value of the number of times we have non-zero carry when adding two non-negative integers that contain at most N digits each. Note that we are adding the numbers in their base 10 representation.

For example, the following table shows the number of carries when adding some pairs of numbers: 


A
B
Number of carries


20
4
0


111
119
1


123
923
1


1235
98765
5



Input
The first line of the input contains an integer T denoting the number of test cases. The description of T test cases follows.
Each test case has a single line containing an integer N.

Output
For each test case, output a single line containing the required expected value.
Your answer will be accepted if the error is less than 10 ^-6.

Constraints

1 ≤ T ≤ 100,000(10^5)
1 ≤ N ≤ 100,000(10^5)


Example
Input:
3
1
2
3

Output:
0.45
0.945
1.4445


Explanation
Example case 1.
We have 10*10 = 100 cases of adding two 1-digit number.
The carry appears when adding 1 and 9, 2 and 9, 3 and 9 ... and so on,
there are 45 cases in total and in each case, the carry appears exactly once.

Solution (in PYTHON):

Solution:
#!/usr/bin/python
if __name__=="__main__":
	a=[0.0]*100004;
	a[1]=1.0/100;
	div=100.0;
	for i in range(2,100001):
		a[i]=a[i-1]/10+(i*1.0)/div;
	
	T=input();
	while(T>0):
		n=input();
#		print a[n];
		print 45*a[n];
		T-=1;