After Fox Ciel won an onsite round of a programming contest, she took a bus to return to her castle. The fee of the bus was 220 yen. She met Rabbit Hanako in the bus. They decided to play the following game because they got bored in the bus.  Initially, there is a pile that contains x 100-yen coins and y 10-yen coins.  They take turns alternatively. Ciel takes the first turn.  In each turn, they must take exactly 220 yen from the pile. In Ciel's turn, if there are multiple ways to take 220 yen, she will choose the way that contains the maximal number of 100-yen coins. In Hanako's turn, if there are multiple ways to take 220 yen, she will choose the way that contains the maximal number of 10-yen coins.  If Ciel or Hanako can't take exactly 220 yen from the pile, she loses.  Determine the winner of the game.

The first line contains two integers x (0 ≤ x ≤ 106) and y (0 ≤ y ≤ 106), separated by a single space.

If Ciel wins, print "Ciel". Otherwise, print "Hanako".

NoteIn the first turn (Ciel's turn), she will choose 2 100-yen coins and 2 10-yen coins. In the second turn (Hanako's turn), she will choose 1 100-yen coin and 12 10-yen coins. In the third turn (Ciel's turn), she can't pay exactly 220 yen, so Ciel will lose.

# 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)

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];

'''
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 = 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

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")

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,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]

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")

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()

# 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, 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)

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

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 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"

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 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))

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()

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")

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")

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"

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

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

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()

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

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

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")

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')

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()

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()

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 , 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")

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")

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

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

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()])

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 = 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,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

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

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,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")

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))

'''
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'

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

# 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

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()

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

#!/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().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

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"

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, 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 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()])

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

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

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()])

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()])

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")