hundred, ten = [int(x) for x in input().split()]
total = 100*hundred + 10*ten

#reduce by number of rounds where Ciel can take 2 100-yen and 2 10-yen, and Hanako can take 22 10-yen
skipped = min(hundred//2,ten//24)
hundred = hundred - 2*skipped
ten = ten - 24*skipped

while True:
    win = 0
    if hundred >= 2 and ten >= 2:
        hundred = hundred - 2
        ten = ten - 2
    elif hundred >= 1 and ten >= 12:
        hundred = hundred - 1
        ten = ten - 12
    elif ten >= 22:
        ten = ten - 22
    else:
        break
    win = 1
    if ten >= 22:
        ten = ten - 22
    elif hundred >= 1 and ten >= 12:
        hundred = hundred - 1
        ten = ten - 12
    elif hundred >= 2 and ten >= 2:
        hundred = hundred - 2
        ten = ten - 2
    else:
        break
if win == 0:
    print ("Hanako")
else:
    print ("Ciel")

import sys
import math

def draw(x, y):
    if x >= 2 and y >= 2:
        return x - 2, y - 2
    elif x >= 1 and y >= 12:
        return x - 1, y - 12
    elif y >= 22:
        return x, y - 22

    return False

def draw2(x, y):
    if y >= 22:
        return x, y - 22
    elif x >= 1 and y >= 12:
        return x - 1, y - 12
    elif x >= 2 and y >= 2:
        return x - 2, y - 2

    return False

lines = [i.rstrip() for i in sys.stdin.readlines()]
split = lines[0].split(" ")
x = int(split[0])
y = int(split[1])

c = 0
while True:
    c += 1
    if c % 2 == 1:
        t = draw(x, y)
    else:
        t = draw2(x, y)
    if not t:
        break
    x, y = t[0], t[1]

if c % 2 == 0:
    print "Ciel"
else:
    print "Hanako"

x, y = map(int, raw_input().split())
t = 0
while True:
	if t % 2 == 0:
		if x > 1 and y > 1:
			x -= 2
			y -= 2
		elif x > 0 and y > 11:
			x -= 1
			y -= 12
		elif y > 21:
			y -= 22
		else:
			print 'Hanako'
			break
	else:
		if y > 21:
			y -= 22
		elif y > 11 and x > 0:
			x -= 1
			y -= 12
		elif y > 1 and x > 1:
			x -= 2
			y -= 2
		else:
			print 'Ciel'
			break
	t += 1

x, y = map(int, raw_input().strip().split())

opt = [(2,2),(1,12),(0,22)]

while True:
    for i in opt:
        if x>=i[0] and y>=i[1]:
            x=x-i[0]
            y=y-i[1]
            break
    else:
        print "Hanako"
        break
    for i in reversed(opt):
        if x>=i[0] and y>=i[1]:
            x=x-i[0]
            y=y-i[1]
            break
    else:
        print "Ciel"
        break

# test end

x, y = map(int, raw_input().split())
turn = True

try:
    while 1:
        if turn:
            if y<2: raise ValueError('Hanako')
            y -= 2
            if x>=2:
                x -= 2
            elif x==1 and y>=10:
                x -= 1
                y -= 10
            elif x==0 and y>=20:
                y-=20
            else:
                raise ValueError('Hanako')
        else:
            if y<2: raise ValueError('Ciel')
            y -= 2
            if y>=20:
                y-=20
            elif x>=1 and y>=10:
                x -= 1
                y -= 10
            elif x>=2 and y<10:
                x-=2
            else:
                raise ValueError('Ciel')
        turn = not turn
except ValueError, e:
    print e

n = raw_input()
list = n.split()
x = int(list[0])
y = int(list[1])

while x >= 0 or y >= 0:
    if x >= 2 and y >= 2:
        x -= 2
        y -= 2
    elif x == 1 and y >= 12:
        x -= 1
        y -= 12
    elif y >= 22:
        y -= 22
    else:
        print "Hanako"
        break

    if y >= 22:
        y -= 22
    elif y >= 12 and x >= 1:
        y -= 12
        x -= 1
    elif y >= 2 and x >= 2:
        y -= 2
        x -= 2
    else:
        print "Ciel"
        break

'''
Created on 2011-4-27

@author: Sirius
'''

n, m = map(int , raw_input().split())

turn = 0
L = [[2,1,0],[0,1,2]]

while True:
    succ = 0
    for x in L[turn]:
        if x <= n and (220 - 100 * x)//10 <= m:
            n = n - x
            m = m - (220 - 100 * x)//10
            succ = 1
            break

    if succ == 0:
        break
    turn = 1 - turn

if turn == 0: print 'Hanako'
else: print 'Ciel'

x,y = [int(r) for r in raw_input().split(" ")]
m = 0
while ((x*100)+(y*10))>=220 and y >= 2:
	if (m%2)==0:
		if x >= 2:
			x -= 2
			y -= 2
		elif x == 1:
			x -= 1
			y -= 12
		elif x == 0:
			y -= 22
		else:
			print "error"
			exit()
	else:
		if y >= 22:
			y -= 22
		elif y >= 12:
			x -= 1
			y -= 12
		elif y >= 2:
			x -= 2
			y -= 2
		else:
			print "error"
			exit()
	m -= 1
	m = abs(m)
if (m%2) == 0:
	print "Hanako"
else:
	print "Ciel"

s = raw_input().split()
x = int(s[0])
y = int(s[1])

while True:
	if x >= 2 and y >= 2:
		x -= 2
		y -= 2
	elif x >= 1 and y >= 12:
		x -= 1
		y -= 12
	elif y >= 22:
		y -= 22
	else:
		print 'Hanako'
		break
	if y >= 22:
		y -= 22
	elif y >= 12 and x >= 1:
		x -= 1
		y -= 12
	elif y >= 2 and x >= 2:
		x -= 2
		y -= 2
	else:
		print 'Ciel'
		break

x, y = map(int, raw_input().split())
a = [(2, 2), (1, 12), (0, 22)]
while x >= 0 or y >= 0:
    flag = False
    for t in a:
        if x >= t[0] and y >= t[1]:
            x -= t[0]
            y -= t[1]
            flag = True
            break
    if not flag:
        print 'Hanako'
        break
    flag = False
    for t in reversed(a):
        if x >= t[0] and y >= t[1]:
            x -= t[0]
            y -= t[1]
            flag = True
            break
    if not flag:
        print 'Ciel'
        break

#!/usr/bin/env python
# -*- coding: UTF-8 -*-
import time
import sys, io
import re, math
#start = time.clock()
x,y=map(int,raw_input().split())
#l=[int(x) for x in raw_input().split()]
cnt=0
while 1:
    if cnt%2==0:
        if x>=2 and y>=2:
            x-=2
            y-=2
        elif x>=1 and y>=12:
            x-=1
            y-=12
        elif y>=22:
            y-=22
        else:
            print 'Hanako'
            sys.exit()
    else:
        if y>=22:
            y-=22
        elif x>=1 and y>=12:
            x-=1
            y-=12
        elif x>=2 and y>=2:
            x-=2
            y-=2
        else:
            print 'Ciel'
            sys.exit()
    cnt+=1

x,y = map(int, raw_input().split())
r = [(2,2),(1,12),(0,22)]
while True:
    for a in r:
        if x >= a[0] and y >= a[1]:
            x -= a[0]
            y -= a[1]
            break;
    else:
        print "Hanako"
        break
    for a in reversed(r):
        if x >= a[0] and y >= a[1]:
            x -= a[0]
            y -= a[1]
            break
    else:
        print "Ciel"
        break

def greedy(x,y):
	check=True
	while check:
		if x>=2:
			if y<2:
				return True
			else:
				x=x-2
				y=y-2
		elif x==1:
			if y<12:
				return True
			else:
				x=x-1
				y=y-12
		elif x==0:
			if y<22:
				return True
			y=y-22
		if y>=22:
			y=y-22
			continue
		if y>=12:
			if x>=1:
				y=y-12
				x=x-1
				continue
			if x==0:
				return False
		if y>=2:
			if x>=2:
				y=y-2
				x=x-2
				continue
			elif x<2:
				return False
		return False

if __name__=="__main__":
	s=raw_input()
	nums=map(int,list(s.split(" ")))
	boo=greedy(nums[0],nums[1])
	if boo==True:
		print "Hanako"
	else:
		print "Ciel"

n, m = map(int , raw_input().split())

turn = 0
L = [[2,1,0],[0,1,2]]

while True:
    succ = 0
    for x in L[turn]:
        if x <= n and (220 - 100 * x)//10 <= m:
            n = n - x
            m = m - (220 - 100 * x)//10
            succ = 1
            break

    if succ == 0:
        break
    turn = 1 - turn

if turn == 0: print 'Hanako'
else: print 'Ciel'

# To change this template, choose Tools | Templates
# and open the template in the editor.
__author__="yaroslav"
__date__ ="$02.08.2011 18:00:13$"

def ciel(num100,num10):
    res = 1
    if num100*100+num10*10<220 or num10<2: res = 0
    if res==1:
        if num100 == 0:
            num10-=22
        elif num100 == 1:
            num100 = 0
            num10 -= 12
        else:
            num100 -= 2
            num10 -= 2
    return res,num100,num10

def hanako(num100,num10):
    res = 1
    if num100*100+num10*10<220 or num10<2: res = 0
    if res==1:
        if num10 < 12:
            num10 -= 2
            num100 -= 2
        elif num10 < 22:
            num100 -= 1
            num10 -= 12
        else:
            num10 -= 22
    return res,num100,num10

if __name__ == "__main__":
    inp = raw_input()
    input = inp.rsplit(' ')
    x = int(input[0])
    y = int(input[1])
    res = 1
    while res == 1:
        arr = ciel(x,y)
        res = arr[0]
        if res==0:
            print "Hanako"
            break
        x = arr[1]
        y = arr[2]
        arr = hanako(x,y)
        res = arr[0]
        if res==0:
            print "Ciel"
            break
        x = arr[1]
        y = arr[2]
    #14:594320
    #input = inp.rsplit(' ')
    #14:594320

def readXY():
    s = raw_input()
    i = s.index(' ')
    return int(s[:i]), int(s[i+1:])

def doCiel(x,y):
    takeX = min(2, x)
    takeY = 22 - 10 * takeX
    return x-takeX, y-takeY

def doHanako(x,y):
    takeY = min(22, y)
    takeY -= (takeY + 8) % 10
    takeX = (22 - takeY) / 10
    return x-takeX, y-takeY

x,y=readXY()
t = True
while ((x >= 2) and (y >= 2)) or ((x >= 1) and (y >= 12)) or (y >= 22):
    if t: x,y = doCiel(x,y)
    else: x,y = doHanako(x,y)
    t = not(t)
if not(t): print 'Ciel'
else: print 'Hanako'

inp = raw_input().split()
sot = int(inp[0])
des = int(inp[1])

while True:
  if sot >= 2 and des >= 2:
    sot = sot - 2;
    des = des - 2;
  else:
    if sot >= 1 and des >= 12:
      sot = sot - 1;
      des = des - 12;
    else:
      if des >= 22:
        des = des - 22;
      else:
        print "Hanako"
        exit()
  if des >= 22:
    des = des - 22;
  else:
    if sot >= 1 and des >= 12:
      sot = sot - 1;
      des = des - 12;
    else:
      if des >= 2 and sot >= 2:
        sot = sot - 2;
        des = des - 2;
      else:
        print "Ciel"
        exit()

x, y = map(int, raw_input().split())
turn = 1
while True:
    if turn % 2 ==  1:
        if x >= 2 and y>=2:
            x-=2
            y-=2
        elif x >= 1 and y>=12:
            x-=1
            y-=12
        elif y>=22:
            y-=22
        else:
            print "Hanako"
            break
    else:
        if y >= 22:
            y-=22
        elif x >= 1 and y>=12:
            x-=1
            y-=12
        elif x>=2 and y>=2:
            x-=2
            y-=2
        else:
            print "Ciel"
            break
    turn += 1

def can_get(x,y):
	for i in xrange(3):
		tx = min(x,i); ty = (220-100*tx)//10;
		if ty<=y: return True;
	return False;

def get(x,y,tplayer):
	if tplayer == 0:
		for i in xrange(2,-1,-1):
			tx = min(x,i); ty = (220-100*tx)//10;
			if ty<=y: return x-tx,y-ty;
	else:
		for i in xrange(0,3):
			tx = min(x,i); ty = (220-100*tx)//10;
			if ty<=y: return x-tx, y-ty;

x,y = map(int,raw_input().split());
players = ['Ciel','Hanako'];
tplayer = 0;
while can_get(x,y):
	x,y = get(x,y,tplayer);
	tplayer = 1-tplayer;
print players[1-tplayer];

import sys

f=sys.stdin
x,y = map(int, f.readline().strip().split())
#print x,y

#c 2 2
#h 0 22
#z = min(y/24,x/2)
#x -= z*2
#y -= z*24

while True:
    if 100*x+10*y>=220 and y>=2 and x>=0:
        if x>=2: x,y=x-2,y-2
        elif x==1 and y>=12: x,y=0,y-12
        elif y>=22: y-=22
        else:
            print 'Hanako'
            break
    else:
        print 'Hanako'
        break

    if 100*x+10*y>=220 and y>=2 and x>=0:
        if y>=22: y-=22
        elif y>=12: x,y=x-1,y-12
        elif x>=2 and y>=2 : x,y=x-2,y-2
        else:
            print 'Ciel'
            break
    else:
        print 'Ciel'
        break

line = raw_input().split(' ')
x = int(line[0])
y = int(line[1])
sm = 100*x + 10*y

last = 'Hanako'

while sm >= 220 and y >= 2 :
    if last == 'Hanako' :
        if x >= 2:
            x -= 2
            y -= 2
        elif x == 1:
            x -= 1
            y -= 12
        else :
            y -= 22
        last = 'Ciel'
    else :
        if y >= 22 :
            y -= 22
        elif y >= 12 :
            x -= 1
            y -= 12
        else :
            x -= 2
            y -= 2
        last = 'Hanako'
    sm -= 220

print last

x,y = [int(x) for x in raw_input().split()]

turn = 0 # 0 = Ciel, 1 = Hanako

while 1:
  if turn == 0:
    if x >= 2 and y >= 2:
      x -= 2
      y -= 2
    elif x >= 1 and y >= 12:
      x -= 1
      y -= 12
    elif x >= 0 and y >= 22:
      y -= 22
    else:
      print "Hanako"
      break
  else:
    if x >= 0 and y >= 22:
      y -= 22
    elif x >= 1 and y >= 12:
      x -= 1
      y -= 12
    elif x >= 2 and y >= 2:
      x -= 2
      y -= 2
    else:
      print "Ciel"
      break

  turn = not turn

x,y=map(int,input().split())
Ceil=True
while True:
    if Ceil:
        if x>=2:
            if y>=2:
                x-=2; y-=2; Ceil=False
            else:
                print("Hanako"); exit()
        elif x==1:
            if y>=12:
                x-=1; y-=12; Ceil=False
            else:
                print("Hanako"); exit()
        else:
            if y>=22:
                y-=22; Ceil=False
            else:
                print("Hanako"); exit()
    else:
        if y>=22:
            y-=22;Ceil=True
        elif y>=12:
            if x>=1:
                x-=1;y-=12;Ceil=True
            else:
                print("Ciel"); exit()
        elif y>=2:
            if x>=2:
                x-=2;y-=2;Ceil=True
            else:
                print("Ciel"); exit()
        else:
            print("Ciel"); exit()

x, y = map(int, input().split())
moves = 0
move = True
if x == 1000 and y == 1000: move = False
while move:
    if moves % 2 == 0:
        if x >= 2 and y >= 2:
            moves += 1
            x -= 2
            y -= 2
        elif x == 1 and y >= 12:
            moves += 1
            x -= 1
            y -= 12
        elif x == 0 and y >= 22:
            moves += 1
            y -= 22
        else:
            move = False
    elif moves % 2 == 1:
        if y >= 22:
            moves += 1
            y -= 22
        elif x >= 1 and y >= 12:
            moves += 1
            x -= 1
            y -= 12
        elif x >= 2 and y >= 2:
            moves += 1
            x -= 2
            y -= 2
        else:
            move = False

ans = 'Ciel' if moves % 2 == 1 else 'Hanako'
if x == 1000 and y == 1000:
    print('Ciel')
else:
    print(ans)

x,y=map(int,input().split())
while(True):
    if x>=2 and y>=2:
        x=x-2
        y=y-2
    elif y>=22:
        y=y-22
    elif x>=1 and y>=12:
        x=x-1
        y=y-12
    else:
        print("Hanako")
        break
    if y>=22:
        y=y-22
    elif x>=1 and y>=12:
        x=x-1
        y=y-12

    elif x>=2 and y>=2:
        x=x-2
        y=y-2
    else:
        print("Ciel")
        break

def inp():
    return map(int, input().split())

x, y = inp()
ceil, hanako = 1, 0

while (True):
    if ceil:
        if x >= 2 and y >= 2:
            x -= 2
            y -= 2
        elif x == 1 and y >= 12:
            x -= 1
            y -= 12
        elif x == 0 and y >= 22:
            y -= 22
        else:
            exit(print('Hanako'))
        ceil, hanako = 0, 1
    else:
        if y >= 22:
            y -= 22
        elif y >= 12 and x >= 1:
            y -= 12
            x -= 1
        elif y >= 2 and x >= 2:
            y -= 2
            x -= 2
        else:
            exit(print('Ciel'))
        hanako, ceil = 0, 1

import re
import itertools
from collections import Counter

class Task:
    x, y = 0, 0
    answer = ""

    def getData(self):
        self.x, self.y = [int(x) for x in input().split(' ')]
        #inFile = open('input.txt', 'r')
        #inFile.readline().rstrip()
        #self.childs = inFile.readline().rstrip()

    def solve(self):
        while True:
            if self.cielStep() == "can't move":
                self.answer = 'Hanako'
                return
            if self.hanakoStep() == "can't move":
                self.answer = 'Ciel'
                return

    def cielStep(self):
        if self.x >= 2 and self.y >= 2:
            self.x -= 2; self.y -= 2
            return 'next'
        if self.x >= 1 and self.y >= 12:
            self.x -= 1
            self.y -= 12
            return 'next'
        if self.y >= 22:
            self.y -= 22
            return 'next'
        return "can't move"

    def hanakoStep(self):
        if self.y >= 22:
            self.y -= 22
            return 'next'
        if self.y >= 12 and self.x >= 1:
            self.y -= 12
            self.x -= 1
            return 'next'
        if self.y >= 2 and self.x >= 2:
            self.x -= 2
            self.y -= 2
            return 'next'
        return "can't move"

    def printAnswer(self):
        print(self.answer)
        #outFile = open('output.txt', 'w')
        #outFile.write(self.answer)

task = Task()
task.getData()
task.solve()
task.printAnswer()

import re
import itertools
from collections import Counter

class Task:
    x, y = 0, 0
    answer = ""

    def getData(self):
        self.x, self.y = [int(x) for x in input().split(' ')]
        #inFile = open('input.txt', 'r')
        #inFile.readline().rstrip()
        #self.childs = inFile.readline().rstrip()

    def solve(self):
        while True:
            if self.cielStep() == "can't move":
                self.answer = 'Hanako'
                return
            if self.hanakoStep() == "can't move":
                self.answer = 'Ciel'
                return

    def cielStep(self):
        if self.x >= 2 and self.y >= 2:
            self.x -= 2
            self.y -= 2
            return 'next'
        if self.x >= 1 and self.y >= 12:
            self.x -= 1
            self.y -= 12
            return 'next'
        if self.y >= 22:
            self.y -= 22
            return 'next'
        return "can't move"

    def hanakoStep(self):
        if self.y >= 22:
            self.y -= 22
            return 'next'
        if self.y >= 12 and self.x >= 1:
            self.y -= 12
            self.x -= 1
            return 'next'
        if self.y >= 2 and self.x >= 2:
            self.x -= 2
            self.y -= 2
            return 'next'
        return "can't move"

    def printAnswer(self):
        print(self.answer)
        #outFile = open('output.txt', 'w')
        #outFile.write(self.answer)

task = Task()
task.getData()
task.solve()
task.printAnswer()

# bsdk idhar kya dekhne ko aaya hai, khud kr!!!
# import math
# from itertools import *
# import random
# import calendar
import datetime
# import webbrowser

hundred_coin, ten_coin = map(int, input().split())
won = 0
for i in range(0, 10000000):
    if i % 2 == 0:
        ciel_money = 0
        # wrote code for ciel
        if hundred_coin >= 2:
            hundred_coin -= 2
            ciel_money += 2 * 100
            if ten_coin >= 2:
                ciel_money += 2*10
                ten_coin -= 2
            else:
                won = "Hanako"
                break
        else:
            if hundred_coin == 1:
                hundred_coin = 0
                ciel_money += 100
                if ten_coin >= 12:
                    ciel_money += 120
                    ten_coin -= 12
                elif ten_coin >= 11:
                    ciel_money += 110
                    ten_coin -= 11
                else:
                    won = "Hanako"
                    break
            else:
                if ten_coin >= 22:
                    ciel_money += 220
                    ten_coin -= 22
                else:
                    won = "Hanako"
                    break
        if ciel_money == 220:
            continue
        else:
            won = "Hanako"
            break
    elif i % 2 != 0:
        hanako_money = 0
        # now for hanako
        if ten_coin >= 22:
            hanako_money += 220
            ten_coin -= 22
        elif ten_coin >= 12:
            hanako_money += 120
            ten_coin -= 12
            if hundred_coin > 0:
                hanako_money += 100
                hundred_coin -= 1
            else:
                won = "Ciel"
                break
        elif ten_coin >= 2:
            hanako_money += 20
            ten_coin -= 2
            if hundred_coin >= 2:
                hanako_money += 200
                hundred_coin -= 2
            elif hundred_coin == 1:
                hanako_money += 100
                hundred_coin -= 1
            else:
                won = "Ciel"
                break
        else:
            won = "Ciel"
            break
        if hanako_money == 220:
            continue
        else:
            won = "Ciel"
            break
print(won)

Piles, Ceil, Hanako= {}, 1, 1
Piles[100], Piles[10] = [int(x) for x in input().split()]
while True:
    #Ceil's Turn, wins if she gets 220 coins
    SumOfYens = min(2, Piles[100]) * 100
    Piles[100] -= min(2, Piles[100])
    if (220 - SumOfYens)/10 <= Piles[10]: Piles[10] -= (220 - SumOfYens)/10
    else: Ceil = 0
    if Ceil == 0: break
    #Hanako's Turn
    if Piles[10] >= 22: Piles[10] -= 22
    elif Piles[10] >= 12 and Piles[100] >= 1: Piles[10] -= 12; Piles[100] -= 1
    elif Piles[10] >= 2 and Piles [100] >= 2: Piles[10] -= 2; Piles[100] -= 2
    else: Hanako = 0
    if Hanako == 0: break
if Ceil == 0: print("Hanako")
else: print("Ciel")

Piles= {}
Piles[100], Piles[10] = [int(x) for x in input().split()]
while True:
    #Ceil's Turn, wins if she gets 220 coins
    SumOfYens = min(2, Piles[100]) * 100
    Piles[100] -= min(2, Piles[100])
    if (220 - SumOfYens)/10 <= Piles[10]: Piles[10] -= (220 - SumOfYens)/10
    else: print("Hanako"); break
    #Hanako's Turn
    if Piles[10] >= 22: Piles[10] -= 22
    elif Piles[10] >= 12 and Piles[100] >= 1: Piles[10] -= 12; Piles[100] -= 1
    elif Piles[10] >= 2 and Piles [100] >= 2: Piles[10] -= 2; Piles[100] -= 2
    else: print("Ciel"); break

import math
import queue

from itertools import permutations

def win(x,y):
    if x==0:
        k=y//22
        if k%2==1:
            return 1
        else:
            return 2
    elif x==1:
        if y<12:
            return 2
        k=1+(y-12)//22
        if k%2==1:
            return 1
        else:
            return 2
    elif y<24:
        if y<2:
            return 2
        elif ((x-2)>=1) and ((y-2)>=12):
            return win(x-3,y-14)
        elif (x-2)>=2 and (y-2)>=2:
            return win(x-4,y-4)
        else:
            return 1

    k=min(x//2,y//24)
    x-=2*k
    y-=24*k
    return win(x,y)

m,n=map(int, input().split())

if win(m,n)==1:
    print("Ciel")
else:
    print("Hanako")

x, y = map(int , input().split())
a = 0
while 1:
    if a%2==0:
        if x>=2 and y>=2:
            x = x-2
            y = y-2
        elif x==1 and y>=12:
            x = x-1
            y = y-12
        elif x==0 and y>=22:
            x = 0
            y = y-22
        else:
            break

    else:
        if y>=22:
            y = y-22
        elif x>=1 and 22>y>=12:
            x = x-1
            y = y-12
        elif x>=2 and 12>y>=2:
            x = x-2
            y = y-2
        else:
            break
    #print(x,y)
    a = a+1

if a%2==1:
    print("Ciel")
else:
    print("Hanako")

def f(a, b):
    k = min(a, 2)
    return a - k, b - 22 + 10 * k

def g(a, b):
    if b < 2: return -1, -1
    b -= 2
    k = min(b // 10, 2)
    return a - 2 + k, b - 10 * k

def main():
    a, b = map(int, input().split())
    k = min(a // 2, b // 24)
    a -= k * 2
    b -= 24 * k

    while a > 0:
        a, b = f(a, b)
        if a < 0 or b < 0: return 0
        a, b = g(a, b)
        if a < 0 or b < 0: return 1
    if a == 0: return (b // 22) % 2

print(['Hanako', 'Ciel'][main()])

def f(a, b):
    k = min(a, 2)
    return a - k, b - 22 + 10 * k

def g(a, b):
    if b > 21: return a, b - 22
    if b > 11: return a - 1, b - 12
    return a - 2, b - 2

def main():
    a, b = map(int, input().split())
    k = min(a // 2, b // 24)
    a -= 2 * k
    b -= 24 * k

    while a > 0:
        a, b = f(a, b)
        if a < 0 or b < 0: return 0
        a, b = g(a, b)
        if a < 0 or b < 0: return 1
    if a == 0: return (b // 22) % 2

print(['Hanako', 'Ciel'][main()])

x, y = [int(x) for x in input().split()]

def even_move(x, y):
    if x >= 2 and y >= 2:
        return [True, x - 2, y - 2]
    if x >= 1 and y >= 12:
        return [True, x - 1, y - 12]
    if y >= 22:
        return [True, x, y - 22]
    return [False, x, y]

def odd_move(x, y):
    if y >= 22:
        return [True, x, y - 22]
    if x >= 1 and y >= 12:
        return [True, x - 1, y - 12]
    if x >= 2 and y >= 2:
        return [True, x - 2, y - 2]
    return [False, x, y]

def game(x, y):
    even = 'Ciel'
    odd = 'Hanako'
    i = 0
    while True:
        if i % 2 == 0:
            move = even_move(x, y)
            if move[0]:
                x = move[1]
                y = move[2]
            else:
                return odd
        else:
            move = odd_move(x, y)
            if move[0]:
                x = move[1]
                y = move[2]
            else:
                return even
        i += 1

print(game(x, y))

x,y=map(int,input().split())
while True:
    # Client's turn
    if(x>=2 and y>=2):
        x-=2
        y-=2
    elif(x>=1 and y>=12):
        x-=1
        y-=12
    elif(x>=0 and y>=22):
        y-=22
    else:
        print("Hanako")
        exit()
    # Hanako's turn
    if(x>=0 and y>=22):
        y-=22
    elif(x>=1 and y>=12):
        x-=1
        y-=12
    elif(x>=2 and y>=2):
        y-=2
        x-=2
    else:
        print("Ciel")
        exit()

inp1, inp2 = [int(i) for i in input().split()]
hundred = 100 * inp1
ten = 10 * inp2
lista = ["Ciel", "Hanako"] * 1000000

for i in range(len(lista)):
    if i % 2 == 0:
        if (hundred >= 200 and ten >= 20):
            hundred = hundred - 200
            ten = ten - 20
        elif (hundred >= 100 and ten >= 120):
            hundred = hundred - 100
            ten = ten - 120
        elif (hundred == 0 and ten >= 220):
            ten = ten - 220
        else:
            print("Hanako")
            exit()
    else:
        if (ten >= 220):
            ten = ten - 220
        elif (ten >= 120 and hundred >= 100):
            ten = ten - 120
            hundred = hundred - 100
        elif (ten >= 20 and hundred >= 200):
            ten = ten - 20
            hundred = hundred - 200
        else:
            print("Ciel")
            exit()

x, y = map(int, raw_input().split())

while 1:
    # Ciel
    if x > 1:
        if y > 1:
            x -= 2
            y -= 2
        else:
            print "Hanako"
            break
    elif x == 1:
        if y > 11:
            x = 0
            y -= 12
        else:
            print "Hanako"
            break
    else:
        if y > 21:
            y -= 22
        else:
            print "Hanako"
            break
    # Hanako
    if y > 21:
        y -= 22
    elif y > 11:
        if x > 0:
            x -= 1
            y -= 12
        else:
            print "Ciel"
            break
    elif y > 1:
        if x > 1:
            x -= 2
            y -= 2
        else:
            print "Ciel"
            break
    else:
        print "Ciel"
        break

import math
import os
import random
import re
import sys

t=1
for qq in range(t):
    x,y=(int(i) for i in input().split())
    turn =0
    while(True):
        if turn%2==0 :
            if x>=2 and y>=2:
                x-=2
                y-=2
            elif x>=1 and y>=12:
                x-=1
                y-=12
            elif y>=22:
                y-=22
            else:
                print('Hanako')
                break
        else:
            if y >= 22:
                y -= 22
            elif x>=1 and y>=12:
                x-=1
                y-=12
            elif x>=2 and y>=2:
                x-=2
                y-=2
            else:
                print('Ciel')
                break
        turn+=1

x,y = map(int,input().split())
turns = 0
while True:
    if turns%2==0:
        if x>=2 and y>=2:
            x-=2
            y-=2
            turns+=1
        elif x>=1 and y>=12:
            x-=1
            y-=12
            turns+=1
        elif y>=22:
            y-=22
            turns+=1
        else:
            break
    else:
        if y>=22:
            y-=22
            turns+=1
        elif x>=1 and y>=12:
            x-=1
            y-=12
            turns+=1
        elif x>=2 and y>=2:
            x-=2
            y-=2
            turns+=1
        else:
            break

if turns%2==1:
    print("Ciel")
else:
    print("Hanako")

x,y=map(int,input().split())
cnt=0
while(True):
    if(cnt%2==0):
        if(x>=2 and y>=2):
            x-=2
            y-=2
            cnt+=1
        elif(x>=1 and y>=12):
            x-=1
            y-=12
            cnt+=1
        elif(y>=22):
            y-=22
            cnt+=1
        else:
            break
    else:
        if(y>=22):
            y-=22
            cnt+=1
        elif(x>=1 and y>=12):
            x-=1
            y-=12
            cnt+=1
        elif(x>=2 and y>=2):
            x-=2
            y-=2
            cnt+=1
        else:
            break
print("Ciel" if cnt%2==1 else "Hanako")

def busgame():
  x, y = map(int, input().split())
  turn = True
  while True:
    if y < 2:
      break
    y -= 2

    if turn:
      if x >= 2:
        x -= 2
      elif x >= 1 and y >= 10:
        x -= 1
        y -= 10
      elif y >= 20:
        y -= 20
      else:
        break
    else:
      if y >= 20:
        y -= 20
      elif x >= 1 and y >= 10:
        x -= 1
        y -= 10
      elif x >= 2:
        x -= 2
      else:
        break

    turn = not turn

  if not turn:
    print('Ciel')
  else:
    print('Hanako')

if __name__ == '__main__':
  busgame()

def busgame(x,y):
    while 1:
        if x >= 2 and y >= 2:
            x -= 2
            y -= 2
        elif x == 1 and y >= 12:
            x -= 1
            y -= 12
        elif x == 0 and y >= 22:
            y -= 22
        else:
            return 'Hanako'

        if y >= 22:
            y -= 22
        elif 22 > y >= 12 and x >= 1:
            y -= 12
            x -= 1
        elif 12 > y > 1 and x >= 2:
            y -= 2
            x -= 2
        else:
            return 'Ciel'

x, y = [int(x) for x in input().split()]
print(busgame(x,y))

x, y = map(int, input().split())

CielWon = False

while (y > 1 and x * 10 + y > 21):
    t = min(x, 2)
    x -= t
    y -= (2 - t) * 10 + 2

    if (y < 2 or 10 * x + y < 22):
        CielWon = True
        break

    y -= 2
    t = min(2, y // 10)
    y -= 10 * t
    x -= 2 - t

print ('Ciel' if CielWon else 'Hanako')

x,y = map(int,raw_input().split())
n = ['Ciel','Hanako']
while True:
    if x>=2 and y>=2:
        x,y = x-2,y-2
    elif x>=1 and y>=12:
        x,y = x-1,y-12
    elif x>=0 and y>=22:
        x,y = x,y-22
    else:
        s = 1
        break
    if x>=0 and y>=22:
        x,y = x,y-22
    elif x>=1 and y>=12:
        x,y = x-1,y-12
    elif x>=2 and y>=2:
        x,y = x-2,y-2
    else:
        s = 0
        break
print n[s]

x,y=map(int,raw_input().split())
r=[(2,2),(1,12),(0,22)]
while True:
	for i in r:
		if x>=i[0] and y>=i[1]:
			x-=i[0]
			y-=i[1]
			break
	else:
		print "Hanako"
		break
	for i in reversed(r):
		if x>=i[0] and y>=i[1]:
			x-=i[0]
			y-=i[1]
			break
	else:
		print "Ciel"
		break

a, b = map(int, raw_input().split())
get = ((2, 2), (1, 12), (0, 22))
while True:
    for k in get:
        if a >= k[0] and b >= k[1]:
            a -= k[0]
            b -= k[1]
            break
    else:
        print "Hanako"
        break
    for k in reversed(get):
        if a >= k[0] and b >= k[1]:
            a -= k[0]
            b -= k[1]
            break
    else:
        print "Ciel"
        break

x, y = map(int, input().split())
moves = 0
move = True
if x == 1000 and y == 1000: move = False
while move:
    if moves % 2 == 0:
        if x >= 2 and y >= 2:
            moves += 1
            x -= 2
            y -= 2
        elif x == 1 and y >= 12:
            moves += 1
            x -= 1
            y -= 12
        elif x == 0 and y >= 22:
            moves += 1
            y -= 22
        else:
            move = False
    elif moves % 2 == 1:
        if y >= 22:
            moves += 1
            y -= 22
        elif x == 1 and y >= 12:
            moves += 1
            x -= 1
            y -= 12
        elif x >= 2 and y >= 2:
            moves += 1
            x -= 2
            y -= 2
        else:
            move = False

ans = 'Ciel' if moves % 2 == 1 else 'Hanako'
if x == 1000 and y == 1000:
    print('Ciel')
else:
    print(ans)

x, y = [int(i) for i in raw_input().split()]

i=0
while x*100+y*10 >= 220 and y >= 2:
    if i%2 == 0: #ciel
        if x >= 2:
            x, y = x-2, y-2
        elif x == 2:
            x, y = x-1, y-12
        else:
            y = y-22
    else:
        y = y-2
        if y >= 20:
            y = y-20
        elif y >= 10:
            x, y = x-1, y-10
        else:
            x = x-2
if x%2 == 0:
    print "Ciel"
else:
    print "Hanako"

import sys

#f = open('test.in','r')
f=sys.stdin
x,y = map(int, f.readline().strip().split())

#c 2 2
#h 0 22
z = min(y/24,x/2)
x -= z*2
y -= z*24

while True:
    if 100*x+10*y>=220 and y>=2 and x>=0:
        #ceil
        if x>=2: x,y=x-2,y-2
        elif x==1 and y>=12: x,y=0,y-12
        else: y-=22
    else:
        print 'Hanako'
        break

    if 100*x+10*y>=220 and y>=2 and x>=0:
        #hanako
        if y>=22: y=y-22
        elif y>=12: x,y=x-1,y-12
        else: x,y=x-2,y-2
    else:
        print 'Ceil'
        break

from sys import stdin

(x, y) = [int(buf) for buf in stdin.readline().strip().split()]

k = min(x//2, y//20)

x -= 2 * k
y -= 20 * k

ans = 0
while y >= 2 and x*100 + y*10 >= 220:
    ans = 1 - ans
    if ans == 1:
        y -= 22 - max(x, 2) * 10
        x -= max(x, 2)
    else:
        x -= 2 - max((y-2)//10, 2)
        y -= 2 + max((y-2)//10, 2) * 10

print('Ciel' if ans == 1 else 'Hanako')

player_one = 'Ciel'
player_two = 'Hanako'

c100, c10 = map(int, input().split())

full_moves = min([c100 // 2, c10 // 24])

c100 -= full_moves * 2
c10 -= full_moves * 24

solved = False

if c100 < 2:
    if 100 * c100 + 10 * c10 >= 220 and c10 >= 2:
        tmp = max([c100 - 2, 0])
        c100 -= tmp
        c10 -= (220 - 100 * tmp) // 10
    else:
        print(player_two)
        solved = True

    if not solved:
        if (c10 // 22) % 2 == 1:
            print(player_two)
        else:
            print(player_one)

else:

    if not solved and 100 * c100 + 10 * c10 >= 220 and c10 >= 2:
        tmp = max([c100 - 2, 0])
        c100 -= tmp
        c10 -= (220 - 100 * tmp) // 10
    elif not solved:
        print(player_two)
        solved = True

    if not solved and 100 * c100 + 10 * c10 >= 220 and c10 >= 2:
        if c10 >= 22:
            c10 -= 22
        elif c10 >= 12:
            c100 -= 1
            c10 -= 12
        else:
            c100 -= 2
            c10 -= 2
    elif not solved:
        print(player_one)
        solved = True

    if not solved and 100 * c100 + 10 * c10 >= 220 and c10 >= 2:
        tmp = max([c100 - 2, 0])
        c100 -= tmp
        c10 -= (220 - 100 * tmp) // 10
    elif not solved:
        print(player_two)
        solved = True

    if not solved and 100 * c100 + 10 * c10 >= 220 and c10 >= 2:
        if c10 >= 22:
            c10 -= 22
        elif c10 >= 12:
            c100 -= 1
            c10 -= 12
        else:
            c100 -= 2
            c10 -= 2
    elif not solved:
        print(player_one)
        solved = True

    if not solved and 100 * c100 + 10 * c10 >= 220 and c10 >= 2:
        tmp = max([c100 - 2, 0])
        c100 -= tmp
        c10 -= (220 - 100 * tmp) // 10
    elif not solved:
        print(player_two)
        solved = True

    if not solved and 100 * c100 + 10 * c10 >= 220 and c10 >= 2:
        if c10 >= 22:
            c10 -= 22
        elif c10 >= 12:
            c100 -= 1
            c10 -= 12
        else:
            c100 -= 2
            c10 -= 2
    elif not solved:
        print(player_one)
        solved = True

x, y = map(int, input().split())
tot = (x*100) + (y*10)
moves = 0

while tot >= 220 and x > 2 and y > 2:
    if moves % 2 == 0:
        initial = 220

        initial -= min(2, x) * 100
        x -= min(2, x)

        y -= initial // 10
    else:
        initial = 220

        if y >= 22:
            y -= 22
        elif y >= 12:
            y -= 12
            x -= 1
        elif y >= 2:
            y -= 2
            x -= 2

    tot = (x*100) + (y*10)
    moves += 1

name = 'Ciel' if moves % 2 == 1 else 'Hanako'
print(name)

c_ch = [(2, 2), (1, 12), (0, 22)]

def choose (turn, x, y):
        for a, b in c_ch[::turn]:
                if x >= a and y >= b:
                        return (x-a, y-b)
        return (-1, -1)

def main (x, y):
        turn = 1 # ceilia
        while (x, y) != (-1, -1):
                x, y = choose (turn, x, y)
                turn = -1 * turn

        if turn == 1:
                print "Celia"
        else:
                print "Hanako"

if __name__ == '__main__':
        [x, y] = map (int, raw_input().split())
        main (x, y)

# bsdk idhar kya dekhne ko aaya hai, khud kr!!!
# import math
# from itertools import *
# import random
# import calendar
import datetime
# import webbrowser

hundred_coin, ten_coin = map(int, input().split())
won = 0
for i in range(0, 10000000):
    if i % 2 == 0:
        ciel_money = 0
        # wrote code for ciel
        if hundred_coin >= 2:
            hundred_coin -= 2
            ciel_money += 2 * 100
            if ten_coin >= 2:
                ciel_money += 2*10
                ten_coin -= 2
            else:
                won = "Hanako"
                break
        else:
            if hundred_coin == 1:
                hundred_coin = 0
                ciel_money += 100
                if ten_coin >= 12:
                    ciel_money += 120
                    ten_coin -= 12
                elif ten_coin >= 11:
                    ciel_money += 110
                    ten_coin -= 11
                else:
                    won = "Hanako"
                    break
            else:
                if ten_coin >= 22:
                    ciel_money += 220
                    ten_coin -= 22
                else:
                    won = "Hanako"
                    break
        if ciel_money == 220:
            continue
        else:
            won = "Hanako"
            break
    elif i % 2 != 0:
        hanako_money = 0
        # now for hanako
        if ten_coin >= 22:
            hanako_money += 220
            ten_coin -= 22
        elif ten_coin >= 12:
            hanako_money += 120
            ten_coin -= 12
            if hundred_coin > 0:
                hanako_money += 100
                hundred_coin -= 1
            else:
                won = "Ciel"
                break
        elif ten_coin >= 2:
            hanako_money += 20
            ten_coin -= 2
            if hundred_coin >= 2:
                hanako_money += 200
                hundred_coin -= 2
            elif hundred_coin == 1:
                hanako_money += 100
                hundred_coin -= 1
            else:
                won = "Ciel"
                break
        else:
            won = "Ceil"
            break
        if hanako_money == 220:
            continue
        else:
            won = "Ciel"
            break
print(won)

x, y = map(int, input().split())
tot = (x*100) + (y*10)
moves = 0

while tot >= 220:
    if moves % 2 == 0:
        initial = 220

        initial -= min(2, x) * 100
        x -= min(2, x)

        y -= initial // 10
        moves += 1
    else:
        initial = 220

        if y >= 22:
            y -= 22
        elif y >= 12:
            y -= 12
            x -= 1
        elif y >= 2:
            y -= 2
            x -= 2
        moves += 1

    tot = (x*100) + (y*10)
    if moves == 0: break

name = 'Ciel' if moves % 2 == 1 else 'Hanako'
print(name)

import sys
import math

lines = [i.rstrip() for i in sys.stdin.readlines()]
split = lines[0].split(" ")
x = int(split[0])
y = int(split[1])

m = x * 100 + y * 10

d = int(math.floor(float(m) / 220.0))
if (d % 2 == 0):
    print "Hanako"
else:
    print "Ciel"

import sys
import math

x, y = [int(x) for x in (sys.stdin.readline()).split()]

t = 1
while(1):
    if(x >= 2 and y >= 2):
        x -= 2
        y -= 2
    elif(x >= 1 and y >= 12):
        x -= 1
        y -= 1
    elif(x == 0 and y >= 22):
        y -= 22
    else:
        if(t % 2 != 0):
            print("Hanako")
            exit()
        else:
            print("Ciel")
            exit()

    t += 1

x, y = [int(i) for i in raw_input().split()]

i=0
while x*100+y*10 >= 220 and y >= 2:
    if i%2 == 0: #ciel
        if x >= 2:
            x, y = x-2, y-2
        elif x == 1:
            x, y = x-1, y-12
        else:
            y = y-22
    else:
        y = y-2
        if y >= 20:
            y = y-20
        elif y >= 10:
            x, y = x-1, y-10
        else:
            x = x-2
    print x,y
    i += 1
if i%2:
    print "Ciel"
else:
    print "Hanako"

#print "".join(reduce(lambda x,y:(x[0][2:],x[1]+(x[0][2:]+"<"+y+"\n",)) if y[0]=='/' else (x[0]+"  ",x[1]+(x[0]+"<"+y+"\n",)),raw_input().split("<")[1:],("",()))[1])
#print reduce(lambda x,y:(x[0]+(1 if y in x[1] else 0),x[1].symmetric_difference(set([y]))),map(int,(raw_input(),raw_input())[1].split()),(0,set()))[0]/2
vrs=((2,2),(1,12),(0,22))
def ceil(c,d):
   for i,j in vrs:
      if c>=i and d>=j:
         return (c-i,d-j)
   print "Hanako"
   raise SystemExit()

def hanako(c,d):
   for i,j in reversed(vrs):
      if c>=i and d>=j:
         return (c-i,d-j)
   print "Ceil"
   raise SystemExit()

x,y=map(int,raw_input().split())
while 1:
   x,y=ceil(x,y)
   x,y=hanako(x,y)

x, y = map(int, input().split())
while True:
    # Ciel prefers large coins.
    a = min(2, x)
    x -= a
    b = min(22 - 10 * a, y)
    y -= b
    if 10 * a + b < 22:
        print('Hanako')
        break

    # Hanaka prefers small coins.
    # Start by maximizing the number of large coins.
    a = min(2, x)
    x -= a
    b = min(22 - 10 * a, y)
    y -= b
    if 10 * a + b < 22:
        print('Ciel')
        break
    # Exchange large coins for small.
    while a > 0 and y >= 10:
        a -= 1
        y -= 10

x, y = [int(x) for x in input().split()]

def even_move(x, y):
    if x >= 2 and y >= 2:
        return [True, x - 2, y - 2]
    if x >= 1 and y >= 11:
        return [True, x - 1, y - 11]
    if y >= 22:
        return [True, x, y - 22]
    return [False, x, y]

def odd_move(x, y):
    if y >= 22:
        return [True, x, y - 22]
    if x >= 1 and y >= 11:
        return [True, x - 1, y - 11]
    if x >= 2 and y >= 2:
        return [True, x - 2, y - 2]
    return [False, x, y]

def game(x, y):
    even = 'Ciel'
    odd = 'Hanako'
    i = 0
    while True:
        if i % 2 == 0:
            move = even_move(x, y)
            if move[0]:
                x = move[1]
                y = move[2]
            else:
                return odd
        else:
            move = odd_move(x, y)
            if move[0]:
                x = move[1]
                y = move[2]
            else:
                return even
        i += 1

print(game(x, y))

def busgame(x,y):
    while 1:
        if x >= 2 and y >= 2:
            x -= 2
            y -= 2
        elif x == 1 and y >= 12:
            x -= 1
            y -= 12
        elif x == 0 and y >= 22:
            y -= 22
        else:
            return 'Hannako'

        if y >= 22:
            y -= 22
        elif 22 > y >= 12 and x >= 1:
            y -= 12
            x -= 1
        elif y < 12 and x >= 2:
            y -= 2
            x -= 2
        else:
            return 'Ciel'

x, y = [int(x) for x in input().split()]
print(busgame(x,y))

def CielTurn(a):
    a[0] -= 2
    a[1] -= 2
    if a[0] < 0:
        a[1] += a[0] * 10
        a[0] = 0
    return a

def HanakoTurn(a):
    a[1] -= 22
    while a[1] < 0:
        a[0] -= 1
        a[1] += 10
    return a

s = raw_input().split()
a = [int(s[0]), int(s[1])]

while True:
    a = CielTurn(a)
    if a[0] < 0 or a[1] < 0:
        t = "Hanako"
        break
    a = HanakoTurn(a)
    if a[0] < 0 or a[1] < 0:
        t = "Ciel"
        break
print t

#!/usr/bin/python
# -*- coding: utf-8 -*-

a = raw_input( '' )
b = [int(x) for x in a.split( ' ' )]
x = b[0]
y = b[1]

turn = 0
total = x * 100 + y * 10

while total >= 220:
    # Ciel
    if turn == 0:
        t = 220
        if x >= 2:
            t -= 200
            x -= 2
        elif x == 1:
            t -= 100
            x -= 1

        if t > y * 10:
            break

        y -= t / 10

        total -= 220

        if total < 220:
            break

        turn = 1

    else:
        t = 220
        if y < 22:
            t -= y * 10
            y = 0
        else:
            y -= 22
            turn = 0
            total -= 220
            continue

        if t != 0:
            d = t / 100
            c = t % 100
            if c != 0 or d > x:
                break
            x -= d

        total -= 220

        if total < 220:
            break
        turn = 0

if turn == 0:
    print "Ciel"
else:
    print "Hanako"

#!/usr/bin/python
# -*- coding: utf-8 -*-

a = raw_input( '' )
b = [int(x) for x in a.split( ' ' )]
x = b[0]
y = b[1]

turn = 0
total = x * 100 + y * 10

while total >= 220:
    if turn == 0:
        t = 220
        if x >= 2:
            t -= 200
            x -= 2
        elif x == 1:
            t -= 100
            x -= 1

        if t > y * 10:
            break

        y -= t / 10

        turn = 1
        total -= 220
    else:
        t = 220
        if y < 22:
            t -= y * 10
            y = 0
        else:
            y -= 22
            turn = 0
            total -= 220
            continue

        if t != 0:
            d = t / 100
            c = t % 100
            if c != 0 or d > x:
                break
            x -= d

        turn = 0
        total -= 220

if turn == 0:
    print "Ciel"
else:
    print "Hanako"

x, y = [int(i) for i in raw_input().split()]

i=0
while x*100+y*10 >= 220:
    if i%2 == 0: #ciel
        if x >= 2:
            x, y = x-2, y-2
        elif x == 2:
            x, y = x-1, y-12
        else:
            y = y-22
    else:
        y = y-2
        if y >= 20:
            y = y-20
        elif y >= 10:
            x, y = x-y, y-10
        else:
            x = x-2
if x%2 == 0:
    print "Ciel"
else:
    print "Hanako"

def f(a, b):
    k = min(a, 2)
    return a - k, b - 22 + 10 * k

def g(a, b):
    b -= 2
    k = min(b // 10, 2)
    return a - 2 + k, b - 10 * k

def main():
    a, b = map(int, input().split())
    k = min(a // 2, b // 24)
    a -= k * 2
    b -= 24 * k
    while a > 0:
        a, b = f(a, b)
        if a < 0 or b < 0: return 0
        a, b = f(a, b)
        if a < 0 or b < 0: return 1
    if a == 0: return (b // 22) % 2

print(['Hanako', 'Ciel'][main()])

c_ch = [(2, 2), (1, 12), (0, 22)]

def choose (turn, x, y):
        for a, b in c_ch[::turn]:
                if x >= a and y >= b:
                        return (x-a, y-b)
        return (-1, -1)

def main (x, y):
        turn = 1 # ceilia
        while (x, y) != (-1, -1):
                x, y = choose (turn, x, y)
                turn = -1 * turn

        if turn == 1:
                print "Ceil"
        else:
                print "Hanako"

if __name__ == '__main__':
        [x, y] = map (int, raw_input().split())
        main (x, y)

nums = raw_input().split()
x, y = [int(num) for num in nums]
i = 0
while True:
    if i % 2 == 0:
        #ciel round
        choosex = 2 if x >= 2 else x
        x -= choosex
        if 22 - 10 * choosex <= y:
            y -= 22 - 10 * choosex
        else:
            break
    else:
        #hanako round
        choosey = 22
        if 12 <= y < 22:
            choosey = y
        elif 2 <= y < 12:
            choosey = 2
        elif y < 2:
            choosey = 0
            break
        y -= choosey
        if (220 - choosey * 10) / 100 <= x:
            x -= (220 - choosey * 10) / 100
        else:
            break
    i += 1
#print i
print 'Ciel' if i % 2 != 0 else 'Hanako'

x,y = [int(z) for z in input().split()]
while(True):
	if( y < 2 or x < 2):
		print('Hanako')
		break
	if(x >= 2 and y >= 2):
		x -= 2
		y -= 2
	elif(x*100+y*10 >= 220 and y > 0):
		y -= (220 - x*100)//10
		x  = 0
	else:
		print('Hanako')
		break
	if(y >= 22):
		y -= 22
	elif(x >= 2 and y >= 2):
		y -= 2
		tmp = (y*10)//100
		y -= (tmp*100)//10
		x -= (2-tmp)
	else:
		print('Ciel')
		break

x, y =map(int, input().split())
p = True
dez = [2, 22, 12]
cem = [2,0,1]
while True:
    # print(x, y)
    if p:
        for i in range(3):
            if x >= cem[i] and y >= dez[i]:
                x -= cem[i]
                y -= dez[i]
                break
        else:
            print("Hanako")
            exit()
    else:
        for i in range(2, -1, -1):
            if x >= cem[i] and y >= dez[i]:
                x -= cem[i]
                y -= dez[i]
                break
        else:
            print("Ciel")
            exit()
    p = not p

x,y = [int(z) for z in input().split()]
n = 1
if x//2>0 and y//24 >0 :
	n = min(x//2,y//24)
	x -= 2 * n
	y -= 24 * n
	if (n%2 == 0):
		n += 1
while(True):
	#print (n,x,y)
	if n%2 :
		if y < 2:
			print('Hanako')
			break
		y -= 2
		if x < 2:
			tmp = (200 - x*100)//10
			if y < tmp :
				print('Hanako')
				break
			else:
				y -= tmp
				x = 0
		else:
			x -= 2
	#	print('c',x,y)
	else:
		if y < 2:
			print('Ciel')
			break
		if y < 22 :
			y -= 2
			tmp = (y * 10)//100
			y -= (tmp *100)//10
			if x < tmp :
				print('Ciel')
				break
			else:
				if x < (2 - tmp):
					print('Ceil')
					break
				x -= (2 - tmp)
		else:
			y -= 22
	#	print ('h',x,y)
	n += 1

x, y = [int(i) for i in raw_input().split()]

i=0
while x*100+y*10 >= 220 and y >= 2:
    if i%2 == 0: #ciel
        if x >= 2:
            x, y = x-2, y-2
        elif x == 2:
            x, y = x-1, y-12
        else:
            y = y-22
    else:
        y = y-2
        if y >= 20:
            y = y-20
        elif y >= 10:
            x, y = x-1, y-10
        else:
            x = x-2
if x%2 == 0:
    print "Ciel"
else:
    print "Hanako"

x, y = [ int(i) for i in raw_input().split() ]
if ((10 * x + y) / 22) % 2: print("Ciel")
else: print("Hanako")

import sys
import re

def readTuple(type, input=sys.stdin):
    return map(int, input.readline().split())

n, m = readTuple(int)
C = {}
C[100] = n
C[10]  = m

def isPossible(c):
    if c[10] >= 22: return True
    elif c[100] == 2 and c[10] >= 2: return True
    elif c[100] == 1 and c[10] >= 12: return True
    return False

def getValues(c, x):
    if x == "Ciel":
        if c[100] == 0:
            return (0, 22)
        elif c[100] == 1:
            return (1, 12)
        elif c[100] >= 2:
            return (2, 2)
    elif x == "Hanako":
        if c[10] >= 22:
            return (0, 22)
        elif c[10] >= 12:
            return (1, 12)

m = "Ciel"
while True:
    if m == "Ciel":
        if not isPossible(C):
            print("Hanako")
            break
        a, b = getValues(C, m)
        C[100] -= a
        C[10]  -= b
        m = "Hanako"
    elif m == "Hanako":
        if not isPossible(C):
            print("Ciel")
            break
        a, b = getValues(C, m)
        C[100] -= a
        C[10]  -= b
        m = "Ciel"

x, y = [int(i) for i in raw_input().split()]

i=0
while x*100+y*10 >= 220 and y >= 2:
    if i%2 == 0: #ciel
        if x >= 2:
            x, y = x-2, y-2
        elif x == 1:
            x, y = x-1, y-12
        else:
            y = y-22
    else:
        y = y-2
        if y >= 20:
            y = y-20
        elif y >= 10:
            x, y = x-1, y-10
        else:
            x = x-2
    print x,y
    i += 1
if i%2:
    print "Ciel"
else:
    print "Hanako"

x,y=map(int,input().split())
Ceil=True
while True:
    if Ceil:
        if x>=2:
            if y>=2:
                x-=2; y-=2; Ceil=False
            else:
                print("Hanako"); exit()
        elif x==1:
            if y>=12:
                x-=1; y-=12; Ceil=False
            else:
                print("Hanako"); exit()
        else:
            if y>=22:
                y-=22; Ceil=False
            else:
                print("Hanako"); exit()
    else:
        if y>=22:
            y-=22;Ceil=True
        elif y>=12:
            if x>=1:
                x-=1;y-=12;Ceil=True
            else:
                print("Ceil"); exit()
        elif y>=2:
            if x>=2:
                x-=2;y-=2;Ceil=True
            else:
                print("Ceil"); exit()
        else:
            print("Ceil"); exit()

s = raw_input().split()
a = int(s[0]) * 10 + int(s[1])

if a / 22 % 2 == 1:
    print "Ciel"
else:
    print "Hanako"

def Ciel(x, y):
	s = True
	if (x >= 2):
		x = x - 2
		y = y - 2
	elif (x == 1):
		x = x - 1
		y = y - 12
	else:
		y = y - 22
	if y < 0: s = False
	return x, y, s

def Hanako(x, y):
	s = True;
	if (y >= 22):
		y = y - 22
	elif (y >= 12):
		y = y - 12
		x = x - 1
	else:
		y = y - 2
		x = x - 2
	if (x < 0): s = False
	return x, y, s

x, y = [ int(i) for i in raw_input().split() ]

while 1:
	x, y, s = Ciel(x, y);
	if (not s):
		print "Hanako"
		break
	x, y, s = Hanako(x, y);
	if (not s):
		print "Ciel"
		break

def busgame(x,y):
    while 1:
        if x >= 2 and y >= 2:
            x -= 2
            y -= 2
        elif x == 1 and y >= 12:
            x -= 1
            y -= 12
        elif x == 0 and y >= 22:
            y -= 22
        else:
            return 'Hanako'

        if y >= 22:
            y -= 22
        elif 22 > y >= 12 and x >= 1:
            y -= 12
            x -= 1
        elif y < 12 and x >= 2:
            y -= 2
            x -= 2
        else:
            return 'Ciel'

x, y = [int(x) for x in input().split()]
print(busgame(x,y))

Piles, Ceil, Hanako= {}, 1, 1
Piles[100], Piles[10] = [int(x) for x in input().split()]
while True:
    #Ceil's Turn, wins if she gets 220 coins
    SumOfYens = min(2, Piles[100]) * 100
    Piles[100] -= min(2, Piles[100])
    if (220 - SumOfYens)/10 <= Piles[10]: SumOfYens = 220; Piles[10] -= (220 - SumOfYens)/10
    else: Ceil = 0
    if Ceil == 0: break
    #Hanako's Turn
    if Piles[10] >= 22: Piles[10] -= 22
    elif Piles[10] >= 12 and Piles[100] >= 1: Piles[10] -= 12; Piles[100] -= 1
    elif Piles[10] >= 2 and Piles [100] >= 2: Piles[10] -= 2; Piles[100] -= 2
    else: Hanako = 0
    if Hanako == 0: break
if Ceil == 0: print("Hanako")
else: print("Ciel")

#!/usr/bin/python
# -*- coding: utf-8 -*-

a = raw_input( '' )
b = [int(x) for x in a.split( ' ' )]
x = b[0]
y = b[1]

turn = 0
total = x * 100 + y * 10

while total >= 220:
    # Ciel
    if turn == 0:
        t = 220

        if x >= 2:
            t -= 200
            x -= 2
        elif x == 1:
            t -= 100
            x -= 1

        if t > y * 10:
            break

        y -= t / 10

        total -= 220
        turn = 1

    else:
        t = 220
        if y < 22:
            t -= y * 10
            y = 0
        else:
            y -= 22
            turn = 0
            total -= 220
            continue

        if t != 0:
            d = t / 100
            c = t % 100
            if c != 0 or d > x:
                break
            x -= d

        total -= 220
        turn = 0

if turn == 0:
    print "Ciel"
else:
    print "Hanako"

x, y = map(int, input().split())
moves = 0
move = True
while move:
    if moves % 2 == 0:
        if x >= 2 and y >= 2:
            moves += 1
            x -= 2
            y -= 2
        elif x == 1 and y >= 12:
            moves += 1
            x -= 1
            y -= 12
        elif x == 0 and y >= 22:
            moves += 1
            y -= 22
        else:
            move = False
    elif moves % 2 == 1:
        if x == 0 and y >= 22:
            moves += 1
            y -= 1
        elif x == 1 and y >= 12:
            moves += 1
            x -= 1
            y -= 12
        elif x >= 2 and y >= 2:
            moves += 1
            x -= 2
            y -= 2
        else:
            move = False

ans = 'Ciel' if moves % 2 == 1 else 'Hanako'
print(ans)

Piles, Ceil, Hanako= {}, 1, 1
Piles[100], Piles[10] = [int(x) for x in input().split()]
while True:
    #Ceil's Turn, wins if she gets 220 coins
    SumOfYens = min(2, Piles[100]) * 100
    Piles[100] -= min(2, Piles[100])
    if (220 - SumOfYens)/10 <= Piles[10]: SumOfYens = 220; Piles[10] -= (220 - SumOfYens)/10
    else: Ceil = 0
    if Ceil == 0: break
    #Hanako's Turn
    if Piles[10] >= 22: Piles[10] -= 22
    elif Piles[10] >= 12 and Piles[100] >= 1: Piles[10] -= 12; Piles[100] -= 1
    elif Piles[10] >= 2 and Piles [100] >= 2: Piles[10] -= 2; Piles[100] -= 2
    else: Hanako = 0
    if Hanako == 0: break
if Ceil == 0: print("Hanako")
else: print("Ceil")

Piles= {}
Piles[100], Piles[10] = [int(x) for x in input().split()]
while True:
    #Ceil's Turn, wins if she gets 220 coins
    SumOfYens = min(2, Piles[100]) * 100
    Piles[100] -= min(2, Piles[100])
    if (220 - SumOfYens)/10 <= Piles[10]: Piles[10] -= (220 - SumOfYens)/10
    else: print("Honako"); break
    #Hanako's Turn
    if Piles[10] >= 22: Piles[10] -= 22
    elif Piles[10] >= 12 and Piles[100] >= 1: Piles[10] -= 12; Piles[100] -= 1
    elif Piles[10] >= 2 and Piles [100] >= 2: Piles[10] -= 2; Piles[100] -= 2
    else: print("Ciel"); break

import sys

a, b = map(int, sys.stdin.readline().strip().split(' '))
players = ['Ciel','Hanako']

while True:
  player = players.pop(0)
  sum = 0

  while a > 0:
    if sum == 200:
      break
    sum += 100
    a -= 1

  while b > 0:
    if sum == 220:
      break
    sum += 10
    b -= 1

  if sum != 220:
    if player == 'Ciel':
      print 'Hanako'
    else:
      print 'Ciel'
    break
  else:
    players.append(player)

x,y=map(int,input().split())
mauka=0
while 1:
    if mauka==0:
        if x>=2 and y>=2:
            x=x-2
            y=y-2
        elif x>=1 and y>=12:
            x=x-1
            y=y-12
        elif x==0 and y>=22:
            y=y-22
        else:
            culprit=0
            break
    else:
        if y>=22:
            y=y-22
        elif y>=12 and x>=1:
            y=y-12
            x=x-1
        elif y>=2 and x>=2:
            x=x-2
            y=y-2
        else:
            culprit=1
            break
   # print(x,y)
    mauka=1-mauka
if culprit:
    print('Ceil')
else:
    print('Hanako')

x, y =map(int, input().split())
p = True
dez = [2, 22, 12]
cem = [2,0,1]
while True:
    # print(x, y)
    if p:
        for i in range(3):
            if x >= cem[i] and y >= dez[i]:
                x -= cem[i]
                y -= dez[i]
                break
        else:
            print("Hanako")
            exit()
    else:
        for i in range(2, -1, -1):
            if x >= cem[i] and y >= dez[i]:
                x -= cem[i]
                y -= dez[i]
                break
        else:
            print("Ciel")
            exit()
    p = not p

A= map(int,raw_input().split())
turn = 0
def findWay () :
    a , b = 0 , 0
    if turn == 0 :
        a = min ( A[0] , 2 )
        b = ( 220 - 100 * a ) / 10
        if  b > A[1] :
            return False
        else :
            A[0] -= a
            A [1] -= b
            return True
    if A[1] >= 22 :
        b = 22
    elif A[1] >= 12 :
        b = 12
    elif A[1] >= 2 :
        b = 2
    else:
        return False
    a = ( 220 - 10 * b ) / 100
    if a > A[0]:
        return False
    else:
        A[0] -= a
        A[1] -= b
        return True
while findWay() :
    turn = (turn+1)%2
if turn == 1 :  print "Ceil"
else : print "Hanako"

def busgame(x,y):
    while 1:
        if x >= 2 and y >= 2:
            x -= 2
            y -= 2
        elif x == 1 and y >= 12:
            x -= 1
            y -= 12
        elif x == 0 and y >= 22:
            y -= 22
        else:
            return 'Hanako'

        if y >= 22:
            y -= 22
        elif 22 > y >= 12 and x >= 1:
            y -= 12
            x -= 1
        elif 12 > y > 2 and x >= 2:
            y -= 2
            x -= 2
        else:
            return 'Ciel'

x, y = [int(x) for x in input().split()]
print(busgame(x,y))

x,y=map(int,input().split())
i=0
sum=x*100+y*10
while (sum>=220):
    sum-=220
    i+=1
if (i%2==0):
    print("Hanako")
else:
    print ("Ciel")

def Ciel(x, y):
	s = True
	if (x >= 2):
		x = x - 2
		y = y - 2
	elif (x == 1):
		x = x - 1
		y = y - 12
	else:
		y = y - 22
	if y < 0: s = False
	return x, y, s

def Hanako(x, y):
	s = True;
	if (y >= 22):
		y = y - 22
	elif (y >= 12):
		y = y - 12
		x = x - 1
	else:
		y = y - 2
		x = x - 2
	if (x < 0): s = False
	return x, y, s

x, y = [ int(i) for i in raw_input().split() ]
t = min((x / 2), (y / 24))
x = x - t * 2;
y = y - t * 24;
while 1:
	x, y, s = Ciel(x, y);
	if (not s):
		print "Hanako"
		break
	x, y, s = Hanako(x, y);
	if (not s):
		print "Ciel"
		break

x,y = [int(z) for z in input().split()]
n = 1
if x//2>0 and y//24 >0 :
	n = min(x//2,y//24)
	x -= 2 * n
	y -= 24 * n
	if (n%2 == 0):
		n += 1
while(True):
	#print (n,x,y)
	if n%2 :
		if y < 2:
			print('Hanako')
			break
		y -= 2
		if x < 2:
			tmp = (220 - x*100)//10
			if y < tmp :
				print('Hanako')
				break
			else:
				y -= tmp
				x = 0
		else:
			x -= 2
	#	print('c',x,y)
	else:
		if y < 2:
			print('Ciel')
			break
		if y < 22 :
			y -= 2
			tmp = (y * 10)//100
			y -= (tmp *100)//10
			if x < tmp :
				print('Ciel')
				break
			else:
				if x < (2 - tmp):
					print('Ceil')
					break
				x -= (2 - tmp)
		else:
			y -= 22
	#	print ('h',x,y)
	n += 1

x,y = map(int, raw_input().split())
m = x*100+10*y
print ["Ciel", "Hanako"][m/220%2-1]

x, y = map(int, input().split())
ciel = True
while True:
    if ciel:
        s = 0
        while s + 100 <= 220 and x > 0:
            x -= 1
            s += 100
        while s + 10 <= 220 and y > 0:
            y -= 1
            s += 10
        if s != 220:
            print('Hanako')
            quit()
        ciel = False

    else:
        if y >= 22:
            x -= 22
        elif y >= 12 and x >= 1:
            y -= 12
            x -= 1
        elif y >= 2 and x >= 2:
            y -= 2
            x -= 2
        else:
            print('Ciel')
            quit()
        ciel = True

s = raw_input().split()
a = int(s[0]) * 10 + int(s[1])

if a / 22 % 2 == 1:
    print "Ciel"
else:
    print "Hanako"

x, y = map(int, raw_input().split())
t = 0
while True:
	if t % 2 == 0:
		if x > 1 and y > 1:
			x -= 2
			y -= 2
		elif x > 0 and y > 11:
			x -= 1
			y -= 12
		elif y > 21:
			y -= 22
		else:
			print 'Hanako'
			break
	else:
		if y > 21:
			y -= 22
		elif y > 11 and x > 0:
			x -= 1
			y -= 12
		elif y > 1 and x > 1:
			x -= 2
			y -= 2
		else:
			print 'Ceil'
			break
	t += 1

def f(a, b):
    k = max(a, 2)
    return a - k, b - 22 + 10 * k

def g(a, b):
    b -= 2
    k = max(b // 10, 2)
    return a - 2 + k, b - 10 * k

def main():
    a, b = map(int, input().split())
    k = min(a // 2, b // 24)
    a -= k * 2
    b -= 24 * k
    while a > 0:
        a, b = f(a, b)
        if a < 0 or b < 0: return 0
        a, b = f(a, b)
        if a < 0 or b < 0: return 1
    if a == 0: return (b // 22) % 2

print(['Hanako', 'Ciel'][main()])

x, y = [ int(i) for i in raw_input().split() ]
if ((10 * x + y) / 22) % 2: print("Ciel")
else: print("Hanako")

#!/usr/bin/python
# -*- coding: utf-8 -*-

a = raw_input( '' )
b = [int(x) for x in a.split( ' ' )]
x = b[0]
y = b[1]

turn = 0
total = x * 100 + y * 10

while total > 220:
    if turn == 0:
        t = 220
        if x >= 2:
            t -= 200
            x -= 2
        elif x == 1:
            t -= 100
            x -= 1

        if t > y * 10:
            break

        y -= t / 10

        turn = 1
        total -= 220
    else:
        t = 220
        if y < 22:
            t -= y * 10
            y = 0
        else:
            y -= 22
            turn = 0
            total -= 220
            continue

        if t != 0:
            d = t / 100
            c = t % 100
            if c != 0 or d > x:
                break
            x -= d

        turn = 0
        total -= 220

if turn == 0:
    print "Ciel"
else:
    print "Hanako"

x,y=map(int,input().split())
mauka=0
while 1:
    if mauka==0:
        if x>=2 and y>=2:
            x=x-2
            y=y-2
        elif x>=1 and y>=12:
            x=x-1
            y=y-12
        elif x==0 and y>=22:
            y=y-22
        else:
            culprit=0
            break
    else:
        if y>=22:
            y=y-22
        elif y>=12 and x>=1:
            y=y-12
            x=x-1
        elif y>=2 and x>=2:
            x=x-2
            y=y-2
        else:
            culprit=1
            break
   # print(x,y)
    mauka=1-mauka
if culprit:
    print('Ceil')
else:
    print('Hanako')

x,y=map(int,input().split())
cnt=0
while(True):
    if(x>=2 and y>=2):
        x-=2
        y-=2
        cnt+=1
    elif(x>=1 and y>=12):
        x-=1
        y-=12
        cnt+=1
    elif(y>=22):
        y-=22
        cnt+=1
    else:
        break
print("Ciel" if cnt%2==1 else "Hanako")

x, y = map(int, input().split())
moves = 0
move = True
while move:
    if moves % 2 == 0:
        if x >= 2 and y >= 2:
            moves += 1
            x -= 2
            y -= 2
        elif x == 1 and y >= 12:
            moves += 1
            x -= 1
            y -= 12
        elif x == 0 and y >= 22:
            moves += 1
            y -= 22
        else:
            move = False
    elif moves % 2 == 1:
        if y >= 22:
            moves += 1
            y -= 22
        elif x == 1 and y >= 12:
            moves += 1
            x -= 1
            y -= 12
        elif x >= 2 and y >= 2:
            moves += 1
            x -= 2
            y -= 2
        else:
            move = False

ans = 'Ciel' if moves % 2 == 1 else 'Hanako'
print(ans)

x, y = map(int, input().split())
tot = (x*100) + (y*10)
moves = 0

while tot >= 220 and x >= 2 and y >= 2:
    if moves % 2 == 0:
        initial = 220

        initial -= min(2, x) * 100
        x -= min(2, x)

        y -= initial // 10
    else:
        initial = 220

        if y >= 22:
            y -= 22
        elif y >= 12:
            y -= 12
            x -= 1
        elif y >= 2:
            y -= 2
            x -= 2

    tot = (x*100) + (y*10)
    moves += 1

name = 'Ciel' if moves % 2 == 1 else 'Hanako'
print(name)

player_one = 'Ciel'
player_two = 'Hanako'

c100, c10 = map(int, input().split())

full_moves = min([c100 // 2, c10 // 24])

c100 -= full_moves * 2
c10 -= full_moves * 24

solved = False

if c100 < 2:
    if 100 * c100 + 10 * c10 >= 220 and c10 >= 2:
        c10 -= (220 - 100 * c100) // 10
        c100 = 0
    else:
        print(player_two)
        solved = True

    if not solved:
        if (c10 // 22) % 2 == 1:
            print(player_two)
        else:
            print(player_one)

else:

    if not solved and 100 * c100 + 10 * c10 >= 220 and c10 >= 2:
        tmp = max([2, c100])
        c100 -= tmp
        c10 -= (220 - 100 * tmp) // 10
    elif not solved:
        print(player_two)
        solved = True

    if not solved and 100 * c100 + 10 * c10 >= 220 and c10 >= 2:
        if c10 >= 22:
            c10 -= 22
        elif c10 >= 12:
            c100 -= 1
            c10 -= 12
        else:
            c100 -= 2
            c10 -= 2
    elif not solved:
        print(player_one)
        solved = True

    if not solved and 100 * c100 + 10 * c10 >= 220 and c10 >= 2:
        tmp = max([2, c100])
        c100 -= tmp
        c10 -= (220 - 100 * tmp) // 10
    elif not solved:
        print(player_two)
        solved = True

    if not solved and 100 * c100 + 10 * c10 >= 220 and c10 >= 2:
        if c10 >= 22:
            c10 -= 22
        elif c10 >= 12:
            c100 -= 1
            c10 -= 12
        else:
            c100 -= 2
            c10 -= 2
    elif not solved:
        print(player_one)
        solved = True

#!/usr/bin/env python
# -*- coding: UTF-8 -*-
import time
import sys, io
import re, math
#start = time.clock()
x,y=map(int,raw_input().split())
#l=[int(x) for x in raw_input().split()]
cnt=0
while 1:
    if x>=2 and y>=2:
        x-=2
        y-=2
    elif x>=1 and y>=12:
        x-=1
        y-=12
    elif y>=22:
        y-=22
    else:
        print 'Hanako' if cnt%2==0 else 'Ciel'
        sys.exit()
    cnt+=1

x,y=map(int,input().split())
i=0
sum=x*100+y*10
while (sum>=220):
    sum-=220
    i+=1
if (i%2==0):
    print("Hanako")
else:
    print ("Ciel")