#pragma GCC optimize("Ofast") 
#include <bits/stdc++.h>
using namespace std;
using ll = long long int ;
using P = pair<ll,ll>;
using Graph= vector<vector<ll>>;
struct edge{ll to ; ll cost ;} ;
using graph =vector<vector<edge>> ;
#define rep(i,n) for (ll i=0; i < (n); ++i)
#define rep2(i,n,m) for(ll i=n;i<=m;i++)
#define rep3(i,n,m) for(ll i=n;i>=m;i--)
#define pb push_back 
#define eb emplace_back 
#define ppb pop_back 
#define mpa make_pair 
#define fi first  
#define se second  
#define set20 cout<<fixed<<setprecision(20)  ;
const ll INF=1e18 ;   
inline void chmax(ll& a,ll b){a=max(a,b);}  
inline void chmin(ll& a,ll b){a=min(a,b);} 
long double pi=acos(-1) ;  
ll gcd(ll a, ll b) { return b?gcd(b,a%b):a;}  
ll lcm(ll a, ll b) { return a/gcd(a,b)*b;} 
ll dx[4] {1,0,-1,0} ;
ll dy[4] {0,1,0,-1} ;

struct UnionFind {
  vector<int> d;
  UnionFind(int n=0): d(n,-1) {}
  int find(int x) {
    if (d[x] < 0) return x;
    return d[x] = find(d[x]);
  }
  bool unite(int x, int y) {
    x = find(x); y = find(y);
    if (x == y) return false;
    if (d[x] > d[y]) swap(x,y);
    d[x] += d[y];
    d[y] = x;
    return true;
  }
  bool same(int x, int y) { return find(x) == find(y);}
  int size(int x) { return -d[find(x)];}
};


int main(){
  ios::sync_with_stdio(false) ;
  cin.tie(nullptr) ;
  ll t ; cin>>t ;
  while(t--){
    ll n ; cin>>n ;
    if(n%2==1) cout<<"Odd"<<endl ;
    else if(n%4==0) cout<<"Even"<<endl ;
    else cout<<"Same"<<endl ;
  }
  return 0 ;
}





#include<bits/stdc++.h>
//=====================START-MACRO=====================
namespace gengar
{
	#pragma GCC optimize("Ofast")
	using namespace std;
	namespace TypeDef
	{
		#define int long long
		#define itn int
		#define uint unsigned long long
		using Int=int64_t;
		using uInt=uint64_t;
		#define ld long double
		#define P pair<int,int>
		#define vt(tp) vector<tp>
		#define vvt(nm,tp,h,w,n) vector<vector<tp>>nm((h),vector<tp>(w,n))
		#define vvp vector<vector<P>>
		#define hmap unordered_map
		#define hset unordered_set
		#define PQ priority_queue
	};
	namespace OthDef
	{
		#define all(x) x.begin(),x.end()
		#define nsort(x) sort(all(x))
		#define rsort(x) nsort(x);reverse(all(x))
		#define unq(v) v.erase(unique(all(v)),v.end())
		#define l_b(c,x) distance(c.begin(),lower_bound(all(c),(x)))
		#define u_b(c,x) distance(c.begin(),upper_bound(all(c),(x)))
		#define fi first
		#define se second
		#define mp make_pair
		#define pb push_back
		#define eb emplace_back
		#define spc ' '
		#define pass 
		void CIN(){}
		template<typename Car,typename... Cdr>
		void CIN(Car&&car,Cdr&&...cdr){cin>>car;CIN(forward<Cdr>(cdr)...);}
		template<class T>void drop(T x){cout<<(x)<<endl;exit(0);}
		void dYes(){puts("Yes");exit(0);}
		void dNo(){puts("No");exit(0);}
		#define Bit(n) (1LL<<(n))
		#define Bitall(n,i) for(int bit=0;bit<(1<<(int)(n));bit++)for(int i=0;i<(int)(n);i++)
		#define Bitif(i) if(bit&(1<<i))
	};
	namespace RepDef
	{
		#define _overload3(_1,_2,_3,name,...) name
		#define _rep(i,n) repi(i,0,n)
		#define repi(i,a,b) for(int i=(a),__SIZE##_=(b);i<__SIZE##_;i++)
		#define rep(...) _overload3(__VA_ARGS__,repi,_rep,)(__VA_ARGS__)
		#define rrep(i,n) for(int i=1,__SIZE##_=(n);i<__SIZE##_;i++)
		#define repp(i,n) for(int i=0,__SIZE##_=(n);i<=__SIZE##_;i++)
		#define per(i,n) for(int i=(n)-1;i>=0;i--)
		#define pper(i,n) for(int i=(n)-1;i>=1;i--)
		#define perr(i,n) for(int i=(n);i>=0;i--)
	};
	namespace MathDef
	{
		const int inf=Bit(60);
		const int pi=acos(-1);
		const int mod=1000000007;//998244353
		#define myceil(a,b) ((a)+((b)-1))/(b)
		#define scale(n) cout<<fixed<<setprecision(n)
		int gcd(int a,int b){return b?gcd(b,a%b):a;}
		int lcm(int a,int b){return a/gcd(a,b)*b;}
		int fact(int n){int f=n;pper(i,n){f*=i;f%=mod;}return f;}
		template<class T>int chmax(T &a,const T &b){if(a<b){a=b;return 1;}return 0;}
		template<class T>int chmin(T &a,const T &b){if(b<a){a=b;return 1;}return 0;}
	};
	namespace AllDef
	{
		using namespace TypeDef;
		using namespace OthDef;
		using namespace RepDef;
		using namespace MathDef;
	};
	using namespace AllDef;
};
using namespace gengar;

//=======================END-MACRO=======================

namespace AHC001
{

//=====================START-AHC001======================

int dst(int a,int b,int c,int d)
{
	int ret=sqrt(pow(double(c)-double(a),2)+pow(double(d)-double(b),2));
	return ret/2/1.414;
}
//=======================================================
void solve()
{
	int n;cin>>n;
	vector<int>a(n),b(n),r(n);
	rep(i,n)cin>>a[i]>>b[i]>>r[i];
	int mindist=inf;
	int dist[200];
	rep(i,200)dist[i]=inf;
	//ここまで入力とか
	//dist計算
	rep(i,n)for(int j=0;j<n;j++)
	{
		if(j==i)continue;
		chmin(dist[i],dst(a[i],b[i],a[j],b[j]));
		chmin(mindist,dst(a[i],b[i],a[j],b[j]));
	}
	//mindist=0だった時の保険
	if(mindist==0)
	{
		rep(i,n)
		{
			cout<<a[i]<<spc<<b[i]<<spc;
			cout<<a[i]+1<<spc<<b[i]+1<<spc;
			cout<<endl;
		}
		exit(0);
	}else//それ以外
	{
		rep(i,n)
		{
			int lpdist=dist[i];
			if(dist[i]*dist[i]>r[i]/4)lpdist=(int)(sqrt(r[i]))/2;
			cout<<max(a[i]-lpdist,0LL)<<spc;
			cout<<max(b[i]-lpdist,0LL)<<spc;
			cout<<min(a[i]+lpdist,10000LL)<<spc;
			cout<<min(b[i]+lpdist,10000LL)<<endl;
		}
		exit(0);
	}
}

//=====================END-AHC001======================
};

using namespace AHC001;

int32_t main()
{
	ios::sync_with_stdio(false);
	cin.tie(0);
	solve();
	return 0;
}