Vus the Cossack has $n$ real numbers $a_i$. It is known that the sum of all numbers is equal to $0$. He wants to choose a sequence $b$ the size of which is $n$ such that the sum of all numbers is $0$ and each $b_i$ is either $\lfloor a_i \rfloor$ or $\lceil a_i \rceil$. In other words, $b_i$ equals $a_i$ rounded up or down. It is not necessary to round to the nearest integer.

For example, if $a = [4.58413, 1.22491, -2.10517, -3.70387]$, then $b$ can be equal, for example, to $[4, 2, -2, -4]$. 

Note that if $a_i$ is an integer, then there is no difference between $\lfloor a_i \rfloor$ and $\lceil a_i \rceil$, $b_i$ will always be equal to $a_i$.

Help Vus the Cossack find such sequence!


-----Input-----

The first line contains one integer $n$ ($1 \leq n \leq 10^5$) — the number of numbers.

Each of the next $n$ lines contains one real number $a_i$ ($|a_i| < 10^5$). It is guaranteed that each $a_i$ has exactly $5$ digits after the decimal point. It is guaranteed that the sum of all the numbers is equal to $0$.


-----Output-----

In each of the next $n$ lines, print one integer $b_i$. For each $i$, $|a_i-b_i|<1$ must be met.

If there are multiple answers, print any.


-----Examples-----
Input
4
4.58413
1.22491
-2.10517
-3.70387

Output
4
2
-2
-4

Input
5
-6.32509
3.30066
-0.93878
2.00000
1.96321

Output
-6
3
-1
2
2



-----Note-----

The first example is explained in the legend.

In the second example, we can round the first and fifth numbers up, and the second and third numbers down. We can round the fourth number neither up, nor down.

Difficulty: interview

Starter code:

Solutions:
from math import floor, ceil
n = int(input())
arr = []
for i in range(n):
    arr.append(float(input()))
k = [floor(i) for i in arr]
delta = -sum(k)
for i in range(n):
    if int(arr[i]) != arr[i] and delta:
        delta -= 1
        print(ceil(arr[i]))
    else:
        print(floor(arr[i]))

import math

count = int(input())
numbers = []
for x in range(count):
	numbers.append(float(input()))

total = 0
temp = []
for k in numbers:
	x = int(math.floor(k))
	total += x
	temp.append((x, k))

result = []
for (floor, original) in temp:
	if float(floor) == original or total == 0:
		result.append(floor)
	else:
		total += 1
		result.append(floor + 1)


for g in result:
	print(g)


# JMD
# Nagendra Jha-4096


import sys
from math import ceil,floor

###Defines...###
mod = 1000000007


###FUF's...###
def nospace(l):
    ans = ''.join(str(i) for i in l)
    return ans


##### Main ####
t = 1
for tt in range(t):
    n=int(input())
    a=[]

    for i in range(n):
        a.append(float(input()))

    intcnt = 0

    for num in a:
        if(ceil(num)==floor(num)):
            intcnt+=1

    non_int = n-intcnt

    minsum=0
    ans=[]

    for num in a:
        minsum+=floor(num)
        ans.append(floor(num))

    if(abs(minsum)<=non_int ):
        cnt = abs(minsum)

        for i in range(n):
            if cnt == 0:
                break
            if(floor(a[i])!=ceil(a[i])):
                ans[i]+=1
                cnt-=1
        for num in ans:
            print(num)

    else:
        maxsum = 0
        newans = []

        for num in a:
            maxsum+=ceil(num)
            ans.append(ceil(num))

        assert(maxsum<=non_int)

        for i in range(n):
            if maxsum == 0:
                break
            if(floor(a[i])!=ceil(a[i])):
                ans[i]-=1
                maxsum-=1

        for num in ans:
            print(num)




n = int(input())
a = [input() for _ in range(n)]
ans = []
ch = [False] * n
cur = -1
for i in a:
    cur += 1
    if '.' in i:
        curi = i.split('.')
        if curi[1].count("0") == len(curi[1]):
            ans.append(int(curi[0]))
            continue
        ch[cur] = True
        if curi[0][0] == '-':
            ans.append(int(curi[0]) - 1)
        else:
            ans.append(int(curi[0]))
    else:
        ans.append(int(i))
curs = sum(ans)
for i in range(n):
    if curs < 0 and ch[i]:
        curs += 1
        ans[i] += 1
print(*ans, sep='\n')

import math
a = int(input())
li = []
b = 0
for i in range(a):
    k = float(input())
    if k == int(k):
        b += 1
        li.append(int(k))
    else:
        k = math.floor(k)
        if k < 0:
            li.append(k - 0.00000000001)
        else:
            li.append(k + 0.00000000001)
ans = 0
for i in li:
    ans += int(i)
if ans == 0:
    print(*li)
else:
    for i in li:
        if (ans < 0):
            if i == int(i):
                print(i)
            else:
                ans += 1
                print(int(i) + 1)
        else:
            print(int(i))

from math import*
n=int(input())
som=0
ch=[]
ch2=[]
for i in range(n):
    f=float(input())
    ch.append(floor(f))
    ch2.append(f)
    som+=floor(f)
i=0
while som!=0:
    if ceil(ch2[i])!=ch2[i]:
        som+=1
        ch[i]+=1
    i+=1
for i in range(n):
    print(ch[i])


from sys import stdin
from itertools import combinations
from math import ceil, fabs
input = stdin.readline
n = int(input())
#n, m = list(map(int, input().split()))
a = [float(input()) for _ in range(n)]
l = len(a)
m = []
d = []
for i in range(l):
    if a[i] == int(a[i]):
        d.append(int(a[i]))
        m.append(1)
    else:
        m.append(0)
        if a[i] < 0:
            d.append(int(a[i]-1))
        else:
            d.append(int(a[i]))
s = sum(d)
if s == 0:
    for i in d:
        print(i)
elif s < 0:
    for i in range(l):
        if m[i] == 0:
            d[i] += 1
            s += 1
            if s == 0:
                for i in d:
                    print(i)
                break

import  math
n = int(input())

a = []
t = []
s = 0
for _ in range(n):

    f = float(input())
    p = 0
    if f.is_integer():
        t.append(0)
        p = int(f)
    else:
        p = int(math.floor(f))
        t.append(-1)
    a.append(p)
    s += p

for i, e in enumerate(a):
    if t[i] == 0:
        print(e)
    elif s == 0:
        print(e)
    else:
        print(e+1)
        s += 1