#include <bits/stdc++.h>
using namespace std;
void solutionE();
int main() {
  ios_base::sync_with_stdio(false);
  solutionE();
  return EXIT_SUCCESS;
}
char f[32];
long long n, dp[(1 << 19)];
pair<long long, long long> p[32];
long long pi[32][32], m[32][32];
void print(long long mask) {
  for (long long i = 0; i < 5; ++i)
    for (long long j = 0; j < 5; ++j) m[i][j] = '.';
  for (long long i = 0; i < n; ++i) {
    if (mask % 2) m[p[i].first][p[i].second] = 'O';
    mask >>= 1;
  }
  for (long long i = 0; i < 5; ++i) {
    for (long long j = 0; j < 5; ++j) cerr << char(m[i][j]);
    cerr << endl;
  }
}
long long dfs(long long state) {
  if (dp[state] != 0) return dp[state];
  long long c[4] = {0};
  for (long long i = 0; i < n; ++i)
    for (long long j = i; j < n; ++j) {
      bool ok = true;
      long long mask = (1 << i) | (1 << j);
      if (i == j) {
      } else if (p[i].first == p[j].first) {
        long long d = ((p[j].second - p[i].second) > 0   ? 1
                       : (p[j].second - p[i].second) < 0 ? -1
                                                         : 0);
        for (long long y = p[i].second; y != p[j].second; y += d)
          mask |= (1 << pi[p[i].first][y]);
      } else if (p[i].second == p[j].second) {
        long long d = ((p[j].first - p[i].first) > 0   ? 1
                       : (p[j].first - p[i].first) < 0 ? -1
                                                       : 0);
        for (long long x = p[i].first; x != p[j].first; x += d)
          mask |= (1 << pi[x][p[i].second]);
      } else if (abs(p[i].first - p[j].first) ==
                 abs(p[i].second - p[j].second)) {
        long long dx = ((p[j].first - p[i].first) > 0   ? 1
                        : (p[j].first - p[i].first) < 0 ? -1
                                                        : 0);
        long long dy = ((p[j].second - p[i].second) > 0   ? 1
                        : (p[j].second - p[i].second) < 0 ? -1
                                                          : 0);
        if ((dx == -1 && dy == 1) || (dx == 1 && dy == -1)) ok = false;
        for (long long x = p[i].first, y = p[i].second; x != p[j].first;
             x += dx, y += dy)
          mask |= (1 << pi[x][y]);
      } else
        ok = false;
      if (ok && (state & mask) == mask) {
        ++c[dfs(state ^ mask)];
      }
    }
  assert(c[0] == 0 && c[1] + c[2] > 0);
  if (c[2] > 0)
    dp[state] = 1;
  else
    dp[state] = 2;
  return dp[state];
}
void solve() {
  n = 19;
  for (long long i = 0; i < 19; ++i) {
    if (i < 3)
      p[i] = {0, i};
    else if (i < 7)
      p[i] = {1, i - 3};
    else if (i < 12)
      p[i] = {2, i - 7};
    else if (i < 16)
      p[i] = {3, 1 + i - 12};
    else if (i < 19)
      p[i] = {4, 2 + i - 16};
    pi[p[i].first][p[i].second] = i;
  }
  memset(dp, 0, sizeof(long long) * (1 << 19));
  long long mask = 0;
  dp[0] = 2;
  for (long long i = 0; i < 19; ++i) dp[1 << i] = 1;
  for (long long i = 0; i < 19; ++i)
    if (f[i] == 'O') mask |= 1 << i;
  cout << (dfs(mask) == 1 ? "Karlsson" : "Lillebror") << endl;
}
void solutionE() {
  for (; cin >> f[0];) {
    for (long long i = 1; i < 19; ++i) cin >> f[i];
    solve();
    cerr << endl;
  }
}
