#include <bits/stdc++.h>
using namespace std;
const long long int mod = (long long int)1e9 + 7;
long long int gcd(long long int a, long long int b) {
  if (a % b == 0) return b;
  return gcd(b, a % b);
}
long long int ab(long long int a) {
  if (a < 0) return -1 * a;
  return a;
}
long long int cei(long long int a, long long int b) {
  if (a == 0) return 0;
  return ((a - 1) / b) + 1;
}
long long int flo(long long int a, long long int b) { return a / b; }
long long int lc(long long int a, long long int b) {
  return ((a * b) / gcd(a, b));
}
long long int power(long long int a, long long int b, long long int m) {
  if (b == 0) return 1;
  if (b == 1) return a % m;
  long long int t = power(a, b / 2, m);
  t = (t * t) % m;
  if (b & 1) t = (t * a) % m;
  return t;
}
long long int modInverse(long long int a, long long int m) {
  return power(a, m - 2, m);
}
void fastscan(long long int &number) {
  bool negative = false;
  register long long int c;
  number = 0;
  c = getchar();
  if (c == '-') {
    negative = true;
    c = getchar();
  }
  for (; (c > 47 && c < 58); c = getchar()) number = number * 10 + c - 48;
  if (negative) number *= -1;
}
inline vector<string> tokenize(string To_change, string delimiter) {
  size_t pos = 0;
  string token;
  vector<string> changed;
  while ((pos = To_change.find(delimiter)) != string::npos) {
    token = To_change.substr(0, pos);
    changed.push_back(token);
    To_change.erase(0, pos + delimiter.length());
  }
  changed.push_back(To_change);
  for (int i = 0; i < (int)changed.size(); i++) cout << changed[i] << endl;
  return changed;
}
long long int fun(long long int k, long long int n) { return cei(n, k); }
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  long long int n, i, j, k, l, m, o, p, s = 0, su = 0, s1 = 0, s2 = 0, d, x, y,
                                        z, r, q;
  cin >> n;
  long long int a[n];
  for (i = 0; i < n; i++) cin >> a[i];
  string win = "sjfnb";
  sort(a, a + n);
  for (i = 0; i < (n - 1); i++) {
    if (a[i] == a[i + 1]) s++;
  }
  if (s >= 2) {
    cout << "cslnb";
    return 0;
  }
  for (i = 1; i < (n - 1); i++) {
    if (a[i] == a[i - 1] && a[i] == a[i + 1]) {
      win = "cslnb";
      break;
    } else if (a[i] == a[i + 1] && a[i] == (a[i - 1] + 1)) {
      win = "cslnb";
      break;
    }
  }
  if (win != "cslnb") {
    long long int threshold = 0;
    long long int sum = 0;
    for (i = 0; i < n - 1; i++) {
      if (a[i] && a[i] == a[i + 1]) {
        a[i] -= 1;
        sum++;
      } else if (a[i] == 0 && a[i] == a[i + 1]) {
        cout << "cslnb";
        return 0;
      }
    }
    for (i = 0; i < n; i++) {
      sum += max(0LL, a[i] - threshold);
      threshold++;
    }
    if (sum % 2) {
      cout << win << endl;
      return 0;
    } else {
      cout << "cslnb";
      return 0;
    }
  } else {
    cout << win << endl;
  }
  return 0;
}
