# -*- coding: utf-8 -*-
EPS = 1e-9

class Point
  attr_reader :x, :y
  def initialize(x, y=nil)
    @x, @y = x, y if y
    @x, @y = x[0], x[1] unless y
  end
  def abs; (@x**2 + @y**2)**0.5; end
  def +(other); Point.new(@x + other.x, @y + other.y); end
  def -(other); Point.new(@x - other.x, @y - other.y); end
  def *(other); Point.new(@x * other, @y * other); end
  def /(other); Point.new(@x / other, @y / other); end
end

class Line
  attr_reader :s, :t
  def initialize(s, t=nil)
    @s, @t = s, t if t
    @s, @t = Point.new(s[0..1]), Point.new(s[2..3]) unless t
  end
  def abs; (@t - @s).abs; end
end

def dot(a, b); a.x * b.x + a.y * b.y; end
def cross(a, b);  a.x * b.y - b.x * a.y; end

def is_intersected_ls(a, b)
  return false if (a.t - a.s) / a.abs == (b.t - b.s) / b.abs

  cross(a.t - a.s, b.s - a.s) * cross(a.t - a.s, b.t - a.s) < EPS and
    cross(b.t - b.s, a.s - b.s) * cross(b.t - b.s, a.t - b.s) < EPS
end

def intersection_ls(a, b)
  tmp = b.t - b.s

  d1 = cross(tmp, a.s - b.s).abs
  d2 = cross(tmp, a.t - b.s).abs
  t = d1 / (d1 + d2)

  a.s + (a.t - a.s) * t
end

def area(points)
  cross(points[0] - points[2], points[1] - points[2]).abs / 2
end

def fortune(x)
  case x
  when 0; "kyo"
  when 0..100000; "syo-kichi"
  when 0..1000000; "kichi"
  when 0..1900000; "chu-kichi"
  else; "dai-kichi"
  end
end

while input = gets.split.map(&:to_i) and input.count(0) != 4
  l = [ Line.new(input) ]
  2.times{ l << Line.new(gets.split.map(&:to_i)) }

  res = nil
  points = []
  for i in 0..2
    res = "kyo" unless is_intersected_ls(l[i], l[(i + 1) % 3])

    points << intersection_ls(l[i], l[(i + 1) % 3]) unless res
  end

  res = fortune(area(points)) unless res

  puts res
end