#include <iostream>
#include <iomanip>
#include <cstring>
#include <string>
#include <cstdio>
#include <cstdlib>
#include <algorithm>
#include <vector>
#include <cmath>
#include <fstream>
#include <queue>
#include <iterator>
#include <bitset>
#include <set>
#include <unordered_set>
#include <map>
#include <unordered_map>
using namespace std;
//Utilities
#define sqr(x) ((x)*(x))
#define cbr(x) ((x)*(x)*(x))
#define rep(c, i, n) for((i)=(c); (i)<(n); (i)++)
//Geometry
/**
struct pt { long long x, y; };
double vecmul(pt a, pt b) { //Векторное умножение А*В
return (a.x*b.y - b.x*a.y);
}
//скалярное умножение a*b = |a|*|b|*cos(a,b)
double dist(double ax, double ay, double bx, double by) { return sqrt(sqr(ax - bx) + sqr(ay - by)); }
*/
//DBG
//template<typename T, typename T2>void printarr(T a[], T2 sz, T2 beg = 0) { for (T2 i = beg; i<sz; i++) cout << a[i] << " "; cout << endl; }
#define DBG(a) cout<<#a<<"="<<(a)<<"\n"
#define DBG2(a,b) cout<<#a<<"="<<(a)<<", "<<#b<<"="<<(b)<<"\n"
#define DBG3(a,b,c) cout<<#a<<"="<<(a)<<", "<<#b<<"="<<(b)<<", "<<#c<<"="<<(c)<<"\n"
//Files
#define FILE_MODE(FILE) freopen(FILE".in", "r", stdin), freopen(FILE".out", "w", stdout)
//Constants
#define PI 3.1415926535897932
#define INF 1011111111
#define LLINF 1000111000111000111LL
#define eps 1e-14
#define mod 1000000007
#define ll long long
#define ull unsigned long long
//-------------------------------------------------
#define N 100010
int main() {
int price[N];
queue<int> priceDiscount;
queue<int> out;
int n;
cin >> n;
int i;
rep(0, i, n) {
cin >> price[i];
if (!priceDiscount.empty()) {
if (price[i] != priceDiscount.front()) {
out.push(price[i]);
priceDiscount.push(price[i] / 3 * 4);
}
else priceDiscount.pop();
}
else {
out.push(price[i]);
priceDiscount.push(price[i] / 3 * 4);
}
}
while (!out.empty()) {
cout << out.front() << endl;
out.pop();
}
return 0;
}
Comments