#include <bits/stdc++.h>
using namespace std;
int MIN(int a, int b) {
  int x = (b > a) ? a : b;
  return x;
}
int MAX(int a, int b) {
  int x = (b < a) ? a : b;
  return x;
}
const int size = 1000007;
const long long modulo = 1000000007;
const long long inf = 1e18;
const double eps = 1e-6;
long long t, n, p, m, b[4000], k, n25, n50, n100;
bool flg[1000][1000];
int a[100009];
int main() {
  while (cin >> n >> m) {
    long long ase = n * 100 + m * 10;
    long long cnt = 0;
    while (ase >= 220) {
      if (cnt % 2 == 0) {
        if (n >= 2) {
          n--;
          n--;
          if (m >= 2) {
            m -= 2;
            cnt++;
          }
        } else {
          int less = 220 - (n * 100);
          int j = less / m;
          n = 0;
          m = m - j;
          cnt++;
        }
        ase -= 220;
      } else {
        if (m >= 22) {
          m -= 22;
          cnt++;
        } else {
          if (m >= 12) {
            m -= 12;
            n--;
            cnt++;
          } else if (m >= 2) {
            m -= 2;
            n -= 2;
            cnt++;
          }
        }
        ase -= 220;
      }
    }
    if (cnt % 2 == 0)
      cout << "Hanako\n";
    else
      cout << "Ciel\n";
  }
  return 0;
}
