#include <bits/stdc++.h>
using namespace std;
int main()
{
    int n, i, last, cc;
    cin >> n;
    vector<int> p(n);
    vector<int> sw(200001);
    last = 0;
    cc = 0;

    for (i = 0; i < 200001; ++i)
    {
        sw[i] = 0;
    }

    for (i = 0; i < n; ++i)
    {
        cin >> p[i];
        sw[p[i]]=1;
        while (cc == 0)
        {
            if (sw[last] == 0)
                cc++;
            else
                last++;
        }
        cc = 0;
        cout << last << endl;
    }

    return 0;
}
#include <iostream>
       
#include <algorithm>
#include <list>
#include <string>
#include <vector>
#include <stack>
#include <queue>
#include <set>
#include <map>
#include <unordered_map>
#include <unordered_set>
#include <random>
#include <chrono>
      
#include <cstdio>
#include <cstring>
#include <cmath>
#include <ctime>
#include <cstdlib>
#include <cassert>
 
#define manx maxn
#define whlie while
#define itn int
#define fro for
#define asn ans
#define scnaf scanf
#define sacnf scanf
#define pritnf printf
#define haed head
#define tmep temp
#define udpate update
#define cosnt const
 
#define Fastin freopen("/home/rqdmap/Desktop/codes/in", "r", stdin)
#define Fastout freopen("/home/rqdmap/Desktop/codes/main.out", "w", stdout)
#define lowbit(x) ((x) & (-x))
#define clr(a, x) memset((a), x, sizeof (a))
#define TTT int __; scanf("%d", &__); for(int _ = 1; _ <= __; _++)
using namespace std;
typedef unsigned long long ull;
typedef long long ll;
 
/*------------------------------------------------------------------------------------*/
template<typename T>
void prt(T *a, int n, bool withid = 0){
    if(!withid) for(int i = 0; i < n; i++) cout << a[i] << ((i == n - 1)? '\n':' ');
    else for(int i = 0; i < n; i++) cout << i << ": " << a[i] << '\n';
}
 
template<typename T>
T ceil(T a, T b){return (a + b - 1) / b;}
template<typename T>
T gcd(T x, T y){return !x? y: gcd(y % x, x);}
template<typename T>
void exgcd(T a, T b, T &x, T &y){
    if(!b){x = 1; y = 0;return;}
    exgcd(b, a % b, y, x); y -= a / b * x;
}
ll qp(ll a, ll p){
    if(p < 0) return 0;
    ll ans = 1; while(p){if(p & 1) ans = ans * a ; a = a * a; p >>= 1;}
    return ans;
}
ll qp(ll a, ll p, ll M){
    ll ans = 1; while(p){ if(p & 1) ans = ans * a % M; a = a * a % M; p >>= 1;}
    return (ans % M + M) % M;
}
int euler(int *prime, int *vis, int n){
    int top = 0;
    for(int i = 0; i <= n; i++) vis[i] = 0;
    for(int i = 2; i <= n; i++){
        if(!vis[i]) prime[top++] = i;
        for(int j = 0; j < top && i * prime[j] <= n; j++){
            vis[i * prime[j]] = 1;
            if(i % prime[j] == 0) break;
        }
    }
    return top;
}
struct star{int to, next, w;}; 
/*------------------------------------------------------------------------------------*/

int main(){
    // Fastin;
    TTT{
        ll n; scnaf("%lld", &n);
        if(n & 1) puts("Odd");
        else{
            n /= 2; 
            if(n % 2 == 0) puts("Even");
            else puts("Same");
        }
    }
    return 0;
}