#include <bits/stdc++.h>
using namespace std;
inline vector<int> ReadFullVI(int count) {
  vector<int> arrayname(count);
  for (int i = 0; i < int(count); i++) cin >> arrayname[i];
  return arrayname;
};
inline vector<int> ReadVI(int count) {
  vector<int> arrayname(count);
  for (int i = 0; i < int(count); i++) cin >> arrayname[i];
  return arrayname;
};
const int MOD = 1000000007;
bool Ciel(int &x, int &y) {
  int tx = min(2, x);
  int ty = 22 - tx * 10;
  if (ty > y)
    return false;
  else
    return x -= tx, y -= ty, true;
}
bool Hanako(int &x, int &y) {
  int ty = -1;
  int a[] = {2, 12, 22};
  for (int i = 0; i < int(3); i++)
    if (a[2 - i] <= y) {
      ty = a[2 - i];
      break;
    }
  if (ty == -1) return false;
  int tx = (22 - ty) / 10;
  if (tx > x)
    return false;
  else
    return x -= tx, y -= ty, true;
}
int main(void) {
  int x, y;
  cin >> x >> y;
  while (true) {
    if (!Ciel(x, y)) {
      cout << "Hanako";
      break;
    };
    if (!Hanako(x, y)) {
      cout << "Ciel";
      break;
    };
  }
}
