#include <bits/stdc++.h>
#pragma GCC optimize("O3")
#pragma GCC target("tune=native")
#pragma GCC optimize("fast-math,unroll-loops")
using namespace std;
const int DEBUG = 0;
mt19937 gen(
    (unsigned)chrono::high_resolution_clock::now().time_since_epoch().count());
#pragma comment(linker, "/STACK:76777216")
int smart(int n, vector<int> a) {
  int cnt0 = 0;
  map<int, int> have;
  int cntSame = 0;
  for (int i = 0; i < n; i++) {
    cnt0 += (a[i] == 0);
    have[a[i]]++;
    if (have[a[i]] == 2)
      cntSame++;
    else if (have[a[i]] > 2)
      return 0;
  }
  if (cntSame >= 2 || cnt0 == n || cnt0 >= 2) {
    return 0;
  }
  long long sum = 0;
  sort(a.begin(), a.end());
  for (int i = 0; i < n; i++) {
    if (a[i] == 0) continue;
    if (have[a[i]] == 2) {
      if (have.count(a[i] - 1)) {
        return 0;
      }
      have[a[i]]--;
      a[i]--;
      sum++;
      have[a[i]]++;
    }
  }
  int last = -1;
  if (have[0] > 0) {
    last = 0;
  }
  for (int i = 0; i < a.size(); i++) {
    if (a[i] == 0) continue;
    int cur = last + 1;
    if (cur > a[i]) {
      continue;
    }
    sum = (sum + a[i] - cur) % 2;
    last++;
  }
  return sum;
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.setf(cout.fixed);
  cout.precision(12);
  auto START_TIME = chrono::high_resolution_clock::now();
  int n;
  cin >> n;
  vector<int> a(n);
  for (int i = 0; i < n; i++) {
    cin >> a[i];
  }
  if (smart(n, a))
    cout << "sjfnb";
  else
    cout << "cslnb";
  return 0;
}
