#include <bits/stdc++.h>
using namespace std;
signed main() {
  long long n;
  cin >> n;
  vector<double> gr, le;
  vector<long long> gri, lei;
  vector<long long> grind, leind;
  for (long long i = 0; i < n; ++i) {
    double t;
    cin >> t;
    if (t >= 0) {
      gr.push_back(t);
      grind.push_back(i);
    } else {
      le.push_back(-t);
      leind.push_back(i);
    }
  }
  long long gz = 0, lz = 0;
  long long gsum = 0, lsum = 0;
  for (double t : gr) {
    if (floorl(t) != t) gz++;
    gsum += floorl(t);
    gri.push_back(floorl(t));
  }
  for (double t : le) {
    if (floorl(t) != t) lz++;
    lsum += floorl(t);
    lei.push_back(floorl(t));
  }
  vector<long long> ans(n);
  if (gsum <= lsum) {
    long long add = lsum - gsum;
    for (long long i = 0; i < gr.size() && add > 0; ++i) {
      if (floorl(gr[i]) != gr[i]) {
        add--;
        gri[i]++;
      }
    }
  } else {
    long long add = gsum - lsum;
    for (long long i = 0; i < le.size() && add > 0; ++i) {
      if (floorl(le[i]) != le[i]) {
        add--;
        lei[i]++;
      }
    }
  }
  for (long long i = 0; i < gr.size(); ++i) {
    ans[grind[i]] = gri[i];
  }
  for (long long i = 0; i < le.size(); ++i) {
    ans[leind[i]] = -lei[i];
  }
  for (long long t : ans) cout << t << "\n";
}
