#include <bits/stdc++.h>
#pragma GCC optimize("O2")
using namespace std;
const int MAXN = 19;
const long long MOD = 1e9 + 7;
const long long MOD2 = 998244353;
const long long INF = 8e18;
const int LOG = 22;
long long pw(long long a, long long b, long long mod) {
  return (!b ? 1
             : (b & 1 ? (a * pw(a * a % mod, b / 2, mod)) % mod
                      : pw(a * a % mod, b / 2, mod)));
}
int dp[(1 << MAXN)];
vector<int> moves, X[3][5];
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  ;
  X[0][0] = {0, 1, 2};
  X[0][1] = {3, 4, 5, 6};
  X[0][2] = {7, 8, 9, 10, 11};
  X[0][3] = {12, 13, 14, 15};
  X[0][4] = {16, 17, 18};
  X[1][0] = {7, 3, 0};
  X[1][1] = {12, 8, 4, 1};
  X[1][2] = {16, 13, 9, 5, 2};
  X[1][3] = {17, 14, 10, 6};
  X[1][4] = {18, 15, 11};
  X[2][0] = {7, 12, 16};
  X[2][1] = {17, 13, 8, 3};
  X[2][2] = {18, 14, 9, 4, 0};
  X[2][3] = {15, 10, 5, 1};
  X[2][4] = {11, 6, 2};
  for (int T = 0; T < 3; T++) {
    for (int i = 0; i < 5; i++) {
      for (int j = 0; j < (int)X[T][i].size(); j++) {
        int sum = 0;
        for (int k = j; k < (int)X[T][i].size(); k++) {
          sum += (1 << X[T][i][k]);
          moves.push_back(sum);
        }
      }
    }
  }
  for (int mask = 1; mask < (1 << MAXN); mask++) {
    for (auto x : moves) {
      if ((mask & x) == x) {
        dp[mask] = max(dp[mask], 1 - dp[mask ^ x]);
      }
    }
  }
  char A[20];
  int state = 0;
  for (int i = 0; i < 19; i++) {
    cin >> A[i];
    if (A[i] == 'O') {
      state += (1 << i);
    }
  }
  vector<string> ans{"Lillebror", "Karlsson"};
  cout << ans[dp[state]];
  return 0;
}
