#include <bits/stdc++.h>
using namespace std;
char dp[1 << 20];
int disp[5][9] = {{0, 0, 1, 0, 2, 0, 3, 0, 0},
                  {0, 4, 0, 5, 0, 6, 0, 7, 0},
                  {8, 0, 9, 0, 10, 0, 11, 0, 12},
                  {0, 13, 0, 14, 0, 15, 0, 16, 0},
                  {0, 0, 17, 0, 18, 0, 19, 0, 0}};
int main() {
  vector<int> vec;
  for (int i = 0; i < 5; ++i) {
    for (int j = 0; j < 9; ++j) {
      if (disp[i][j] == 0) continue;
      int msk = 0;
      for (int k = 0; k <= 5; ++k) {
        if (j + 2 * k >= 9 || !disp[i][j + 2 * k]) break;
        msk ^= (1 << disp[i][j + 2 * k]);
        vec.push_back(msk);
      }
      msk = 0;
      for (int k = 0; k <= 5; ++k) {
        if (i - k < 0 || j + k >= 9 || !disp[i - k][j + k]) break;
        msk ^= (1 << disp[i - k][j + k]);
        vec.push_back(msk);
      }
      msk = 0;
      for (int k = 0; k <= 5; ++k) {
        if (i + k >= 5 || j + k >= 9 || !disp[i + k][j + k]) break;
        msk ^= (1 << disp[i + k][j + k]);
        vec.push_back(msk);
      }
    }
  }
  for (int &x : vec) x >>= 1;
  sort(vec.begin(), vec.end());
  vec.resize(unique(vec.begin(), vec.end()) - vec.begin());
  vector<pair<int, int> > ord;
  for (int i = 1; i < (1 << 19); ++i)
    ord.emplace_back(__builtin_popcount(i), i);
  sort(ord.begin(), ord.end());
  dp[0] = 1;
  for (auto pp : ord) {
    int win = 0;
    int msk = pp.second;
    for (int trans : vec) {
      if ((msk & trans) != trans) continue;
      win |= dp[msk ^ trans];
    }
    dp[msk] = !win;
  }
  int msk = 0;
  for (int i = 0; i < 5; ++i) {
    string line;
    getline(cin, line);
    for (int j = 0; j < line.length(); ++j)
      msk ^= ((int)(line[j] == 'O')) << disp[i][j];
  }
  msk >>= 1;
  cout << (dp[msk] ? "Lillebror" : "Karlsson") << endl;
  return 0;
}
