#include <bits/stdc++.h>
using namespace std;
int const maxn = 1e5 + 5;
int n;
float a[maxn];
int b[maxn];
int sum = 0;
map<int, bool> check;
pair<int, int> limit[maxn];
int main() {
  cin >> n;
  for (int i = 1; i <= n; i++) cin >> a[i];
  for (int i = 1; i <= n; i++) {
    int c = a[i];
    sum = sum + c;
    if (c != a[i]) {
      if (a[i] > 0) {
        limit[i].first = c;
        limit[i].second = c + 1;
      }
      if (a[i] < 0) {
        limit[i].first = c - 1;
        limit[i].second = c;
      }
    }
    if (c == a[i]) check[i] = true;
    b[i] = c;
  }
  if (sum == 0) {
    for (int i = 1; i <= n; i++) cout << b[i] << '\n';
  } else {
    if (sum < 0) {
      int sum1 = 0;
      int k = 0 - sum;
      for (int i = 1; i <= n; i++) {
        if (k == 0) break;
        if (check[i] == false) {
          if (b[i] < limit[i].second) {
            k--;
            b[i]++;
          }
        }
      }
      for (int i = 1; i <= n; i++) {
        sum1 += b[i];
      }
      if (sum1 < 0) {
        for (int i = 1; i <= n; i++) {
          if (sum1 == 0) break;
          if (check[i] == false) {
            if (b[i] < limit[i].second) {
              b[i]++;
              sum1++;
            }
          }
        }
      }
      for (int i = 1; i <= n; i++) cout << b[i] << '\n';
    }
    if (sum > 0) {
      int k = sum - 0;
      for (int i = 1; i <= n; i++) {
        if (check[i] == false) {
          if (k == 0) break;
          if (check[i] == false) {
            if (b[i] > limit[i].first) {
              b[i]--;
              k--;
            }
          }
        }
      }
      int sum2 = 0;
      for (int i = 1; i <= n; i++) {
        sum2 += b[i];
      }
      if (sum2 > 0) {
        for (int i = 1; i <= n; i++) {
          if (sum2 == 0) break;
          if (check[i] == false) {
            if (b[i] > limit[i].first) {
              b[i]--;
              sum2--;
            }
          }
        }
      }
      for (int i = 1; i <= n; i++) cout << b[i] << '\n';
    }
  }
  return 0;
}
