
#include <iostream>
#include <vector>
#include <complex>
using namespace std;

#define EPS (1e-10)

typedef complex<double> P;

double cross(P a, P b) {
	return (a.real() * b.imag() - a.imag() * b.real());
}

int is_intersected_ls(P a1, P a2, P b1, P b2) {
	return
		( cross(a2-a1, b1-a1) * cross(a2-a1, b2-a1) < EPS ) &&
		( cross(b2-b1, a1-b1) * cross(b2-b1, a2-b1) < EPS );
}

P intersection_ls(P a1, P a2, P b1, P b2) {
	P b = b2-b1;
	double d1 = abs(cross(b, a1-b1));
	double d2 = abs(cross(b, a2-b1));
	double t = d1 / (d1 + d2);

	return a1 + (a2-a1) * t;
}

double area(vector<P> v){
	int n = v.size();
	double res = 0.0;

	for(int i=0;i<n;i++){
		res += cross(v[i],v[(i+1)%n]);
	}
	return fabs(res)/2;
}

int main(void){
	P s[3],g[3];

	while(1){
		for(int i=0;i<3;i++){
			cin>>s[i].real()>>s[i].imag()>>g[i].real()>>g[i].imag();
			if(s[i] == P(0,0) && g[i] == P(0,0)) return 0;
		}

		if(!is_intersected_ls(s[0],g[0],s[1],g[1]) ||
			 !is_intersected_ls(s[1],g[1],s[2],g[2]) ||
			 !is_intersected_ls(s[2],g[2],s[0],g[0]))
			cout<<"kyo\n";
		else{
			vector<P> v;
			v.push_back(intersection_ls(s[0],g[0],s[1],g[1]));
			v.push_back(intersection_ls(s[1],g[1],s[2],g[2]));
			v.push_back(intersection_ls(s[2],g[2],s[0],g[0]));

			double a = area(v);
			if(a >= 1900000) cout<<"dai-kichi\n";
			else if(a >= 1000000) cout<<"chu-kichi\n";
			else if(a >= 100000) cout<<"kichi\n";
			else if(a > 0) cout<<"syo-kichi\n";
			else cout<<"kyo\n";
		}
	}

	return 0;
}