#include <bits/stdc++.h>
using namespace std;
int g1[] = {1, 2, 3};
int g2[] = {4, 5, 6, 7};
int g3[] = {8, 9, 10, 11, 12};
int g4[] = {13, 14, 15, 16};
int g5[] = {17, 18, 19};
int g6[] = {1, 4, 8};
int g7[] = {2, 5, 9, 13};
int g8[] = {3, 6, 10, 14, 17};
int g9[] = {7, 11, 15, 18};
int g10[] = {12, 16, 19};
int g11[] = {3, 7, 12};
int g12[] = {2, 6, 11, 16};
int g13[] = {1, 5, 10, 15, 19};
int g14[] = {4, 9, 14, 18};
int g15[] = {8, 13, 17};
vector<int> v;
void prep() {
  int t, m;
  t = sizeof(g1) / sizeof(g1[0]);
  for (int i = 2; i <= t; i++) {
    for (int j = 0; j <= t - i; j++) {
      m = 0;
      for (int k = 0; k < i; k++) {
        int d = g1[j + k];
        m |= (1 << d);
      }
      v.push_back(m);
    }
  }
  t = sizeof(g2) / sizeof(g2[0]);
  for (int i = 2; i <= t; i++) {
    for (int j = 0; j <= t - i; j++) {
      m = 0;
      for (int k = 0; k < i; k++) {
        int d = g2[j + k];
        m |= (1 << d);
      }
      v.push_back(m);
    }
  }
  t = sizeof(g3) / sizeof(g3[0]);
  for (int i = 2; i <= t; i++) {
    for (int j = 0; j <= t - i; j++) {
      m = 0;
      for (int k = 0; k < i; k++) {
        int d = g3[j + k];
        m |= (1 << d);
      }
      v.push_back(m);
    }
  }
  t = sizeof(g4) / sizeof(g4[0]);
  for (int i = 2; i <= t; i++) {
    for (int j = 0; j <= t - i; j++) {
      m = 0;
      for (int k = 0; k < i; k++) {
        int d = g4[j + k];
        m |= (1 << d);
      }
      v.push_back(m);
    }
  }
  t = sizeof(g5) / sizeof(g5[0]);
  for (int i = 2; i <= t; i++) {
    for (int j = 0; j <= t - i; j++) {
      m = 0;
      for (int k = 0; k < i; k++) {
        int d = g5[j + k];
        m |= (1 << d);
      }
      v.push_back(m);
    }
  }
  t = sizeof(g6) / sizeof(g6[0]);
  for (int i = 2; i <= t; i++) {
    for (int j = 0; j <= t - i; j++) {
      m = 0;
      for (int k = 0; k < i; k++) {
        int d = g6[j + k];
        m |= (1 << d);
      }
      v.push_back(m);
    }
  }
  t = sizeof(g7) / sizeof(g7[0]);
  for (int i = 2; i <= t; i++) {
    for (int j = 0; j <= t - i; j++) {
      m = 0;
      for (int k = 0; k < i; k++) {
        int d = g7[j + k];
        m |= (1 << d);
      }
      v.push_back(m);
    }
  }
  t = sizeof(g8) / sizeof(g8[0]);
  for (int i = 2; i <= t; i++) {
    for (int j = 0; j <= t - i; j++) {
      m = 0;
      for (int k = 0; k < i; k++) {
        int d = g8[j + k];
        m |= (1 << d);
      }
      v.push_back(m);
    }
  }
  t = sizeof(g9) / sizeof(g9[0]);
  for (int i = 2; i <= t; i++) {
    for (int j = 0; j <= t - i; j++) {
      m = 0;
      for (int k = 0; k < i; k++) {
        int d = g9[j + k];
        m |= (1 << d);
      }
      v.push_back(m);
    }
  }
  t = sizeof(g10) / sizeof(g10[0]);
  for (int i = 2; i <= t; i++) {
    for (int j = 0; j <= t - i; j++) {
      m = 0;
      for (int k = 0; k < i; k++) {
        int d = g10[j + k];
        m |= (1 << d);
      }
      v.push_back(m);
    }
  }
  t = sizeof(g11) / sizeof(g11[0]);
  for (int i = 2; i <= t; i++) {
    for (int j = 0; j <= t - i; j++) {
      m = 0;
      for (int k = 0; k < i; k++) {
        int d = g11[j + k];
        m |= (1 << d);
      }
      v.push_back(m);
    }
  }
  t = sizeof(g12) / sizeof(g12[0]);
  for (int i = 2; i <= t; i++) {
    for (int j = 0; j <= t - i; j++) {
      m = 0;
      for (int k = 0; k < i; k++) {
        int d = g12[j + k];
        m |= (1 << d);
      }
      v.push_back(m);
    }
  }
  t = sizeof(g13) / sizeof(g13[0]);
  for (int i = 2; i <= t; i++) {
    for (int j = 0; j <= t - i; j++) {
      m = 0;
      for (int k = 0; k < i; k++) {
        int d = g13[j + k];
        m |= (1 << d);
      }
      v.push_back(m);
    }
  }
  t = sizeof(g14) / sizeof(g14[0]);
  for (int i = 2; i <= t; i++) {
    for (int j = 0; j <= t - i; j++) {
      m = 0;
      for (int k = 0; k < i; k++) {
        int d = g14[j + k];
        m |= (1 << d);
      }
      v.push_back(m);
    }
  }
  t = sizeof(g15) / sizeof(g15[0]);
  for (int i = 2; i <= t; i++) {
    for (int j = 0; j <= t - i; j++) {
      m = 0;
      for (int k = 0; k < i; k++) {
        int d = g15[j + k];
        m |= (1 << d);
      }
      v.push_back(m);
    }
  }
  for (int i = 1; i < 20; i++) v.push_back((1 << i));
  return;
}
int grundy[1 << 21];
int solve(int mask) {
  if (grundy[mask] > -1) return grundy[mask];
  bool used[150];
  memset(used, false, sizeof(used));
  for (int i = 0; i < v.size(); i++) {
    int m = v[i];
    if ((mask & m) == m) used[solve(mask ^ m)] = true;
  }
  for (int i = 0; i < 150; i++)
    if (!used[i]) {
      grundy[mask] = i;
      break;
    }
  return grundy[mask];
}
int main() {
  int mask;
  char ch;
  prep();
  mask = 0;
  for (int i = 1; i < 20; i++) {
    scanf(" %c", &ch);
    if (ch != '.') mask |= (1 << i);
  }
  memset(grundy, -1, sizeof(grundy));
  grundy[0] = 0;
  if (solve(mask))
    printf("Karlsson\n");
  else
    printf("Lillebror\n");
  return 0;
}
