#include <iostream>
#include <cmath>
#include <utility>
#include <vector>
#include <string>
using namespace std;

typedef pair<double,double> pdd;
#define x first
#define y second
const double EPS = 1e-9;
const double INF = 1e18;

template<class T>
T sqr(T obj) { return obj * obj; }

pdd pt(pdd a0, pdd a1, pdd b0, pdd b1) {
	double div;
	pdd ret;

	div = (a1.y - a0.y) * (b1.x - b0.x) - (b1.y - b0.y) * (a1.x - a0.x);
	if(fabs(div) < EPS)
		return pdd(INF,INF);

	ret.x = (a1.x - a0.x) * (b1.x * b0.y - b0.x * b1.y) - (b1.x - b0.x) * (a1.x * a0.y - a0.x * a1.y);
	ret.y = (a1.y - a0.y) * (b1.x * b0.y - b0.x * b1.y) - (b1.y - b0.y) * (a1.x * a0.y - a0.x * a1.y);
	ret.x /= div;
	ret.y /= div;

	return ret;
}

int main() {
	while(1) {
		vector<pdd> v;
		for(int i = 0; i < 3; i++) {
			for(int j = 0; j < 2; j++) {
				double a, b;
				cin >> a >> b;
				v.push_back(pdd(a,b));
			}
			if(fabs(v[0].x) < EPS && fabs(v[0].y) < EPS && fabs(v[1].x) < EPS && fabs(v[1].y) < EPS)
				goto EXIT;
		}

		vector<pdd> p;
		for(int i = 0; i < 3; i++) {
			p.push_back(pt(v[i*2 % 6], v[(i*2+1) % 6], v[(i+1)*2 % 6], v[((i+1)*2+1) % 6]));
		}

		string res = "";
		for(int i = 0; i < p.size(); i++) {
			double dist0, dist1;
			dist0 = sqrt(sqr(v[i*2%6].x - v[(i*2+1)%6].x) + sqr(v[i*2%6].y - v[(i*2+1)%6].y));
			dist1 = sqrt(sqr(v[i*2%6].x - p[i].x) + sqr(v[i*2%6].y - p[i].y))
				+ sqrt(sqr(v[(i*2+1)%6].x - p[i].x) + sqr(v[(i*2+1)%6].y - p[i].y));
			if(p[i].x == INF || p[i].y == INF || fabs(dist0 - dist1) > EPS) {
				res = "kyo";
			}
			//cout << p[i].x << "," << p[i].y << endl;
		}

		if(res == "") {
			double S;
			S = ((p[1].x - p[0].x) * (p[2].y - p[0].y) - (p[1].y - p[0].y) * (p[2].x - p[0].x)) / 2;
			S = fabs(S);

			if(S + EPS>= 1900000)
				res = "dai-kichi";
			else if(S + EPS >= 1000000)
				res = "chu-kichi";
			else if(S + EPS >= 100000)
				res = "kichi";
			else if(S < EPS)
				res = "kyo";
			else
				res = "syo-kichi";
		}
		cout << res << endl;
	}

EXIT:;
}