import java.util.*;
import java.io.*;
import java.math.*;
public class Main{
	static int mod = (int)1e9+7;
	public static PrintWriter out = new PrintWriter (new BufferedOutputStream(System.out));
	public static void main(String sp[])throws IOException{
		FastReader sc = new FastReader();
		char ch[] = sc.next().toCharArray();
		int n = ch.length;
		StringBuilder sb = new StringBuilder();
		String st = "";
		for(int i=0;i<n;i++){
			if(ch[i]=='a' || ch[i]=='b')
				sb.append(ch[i]);
		}
		st = sb.toString();
		if(st.length()==0){
			System.out.println("0");
			return;
		}
		long total=0;
		ArrayList<Integer> al = new ArrayList<>();
		int count=0;
		long mul=1;
		for(int i=0;i<st.length();i++){
			if(st.charAt(i)=='a'){
				count++;
			}else{
				if(count>0){
				al.add(count);
				mul = (mul*count)%mod;}
				count=0;
			}
		}
		if(count>0){
		al.add(count);
		mul*=count;
		}

		for(int i=0;i<al.size()-1;i++){
			total += mul+al.get(i);
			mul/=al.get(i);
			total%=mod;
		}
		total+=(al.get(al.size()-1));
		System.out.println(total);
	}

	public static long[] swap(long arr[], int i, int j){

		long temp = arr[i];
		arr[i]=arr[j];
		arr[j]=temp;
		return arr;
	}

	public static class pair{
		int l;
		int r;
	}

	public static class comp implements Comparator<pair>{
		public int compare(pair o1, pair o2){
			if(o1.l!=o2.l)
			return Long.valueOf(o1.l).compareTo(Long.valueOf(o2.l));
			return o1.r-o2.r;
		}
	}

	public static long sum(long a, long d, long n){

		long total = ((n)*((2*a)+(n-1)*d))/2;
		return total;
	}

	public static class trie{
		char ch;
		HashMap<Character,trie> hm = new HashMap<>();
		int count;
		boolean isterminal;
	}

	public static int partition(int [] arr, int s, int e){

		int index=s;
		int pivot = arr[e];
		for(int i=s;i<=e-1;i++){
			if(arr[i]<=pivot){
				arr = swap(arr, index, i);
				index++;
			}
		}
		swap(arr,index,e);
		print(arr);
		return index;
	}

	public static int[] swap(int[] arr, int low, int high){
		int temp = arr[low];
		arr[low]=arr[high];
		arr[high]=temp;
		return arr;
	}

	public static long gcd(long a, long b){
		if(a==0)
			return b;

		return gcd(b%a,a);
	}

	public static void print(int[] arr){
		for(int i=0;i<arr.length;i++)
			System.out.print(arr[i]+" ");
		System.out.println();
	}

	public static class FastReader {
		BufferedReader br;
		StringTokenizer st;

		public FastReader() {
			br = new BufferedReader(new InputStreamReader(System.in));
		}

		String next() {
			while (st == null || !st.hasMoreTokens()) {
				try {
					st = new StringTokenizer(br.readLine());
				} catch (Exception r) {
					r.printStackTrace();
				}
			}
			return st.nextToken();
		}

		int nextInt() {
			return Integer.parseInt(next());//converts string to integer
		}

		double nextDouble() {
			return Double.parseDouble(next());
		}

		long nextLong() {
			return Long.parseLong(next());
		}

		String nextLine() {
			String str = "";
			try {
				str = br.readLine();
			} catch (Exception r) {
				r.printStackTrace();
			}
			return str;
		}
	}

}


import java.util.*;
import java.io.*;
import java.math.*;
public class Main{
	static int mod = (int)1e9+7;
	public static PrintWriter out = new PrintWriter (new BufferedOutputStream(System.out));
	public static void main(String sp[])throws IOException{
		FastReader sc = new FastReader();
		char ch[] = sc.next().toCharArray();
		int n = ch.length;
		StringBuilder sb = new StringBuilder();
		String st = "";
		for(int i=0;i<n;i++){
			if(ch[i]=='a' || ch[i]=='b')
				sb.append(ch[i]);
		}
		st = sb.toString();
		long total=0;
		ArrayList<Integer> al = new ArrayList<>();
		int count=0;
		long mul=1;
		for(int i=0;i<st.length();i++){
			if(st.charAt(i)=='a'){
				count++;
			}else{
				if(count>0){
				al.add(count);
				mul = (mul*count)%mod;}
				count=0;
			}
		}
		if(count>0){
		al.add(count);
		mul*=count;
		}

		for(int i=0;i<al.size()-1;i++){
			total += mul+al.get(i);
			mul/=al.get(i);
			total%=mod;
		}
		total+=(al.get(al.size()-1));
		System.out.println(total);
	}

	public static long[] swap(long arr[], int i, int j){

		long temp = arr[i];
		arr[i]=arr[j];
		arr[j]=temp;
		return arr;
	}

	public static class pair{
		int l;
		int r;
	}

	public static class comp implements Comparator<pair>{
		public int compare(pair o1, pair o2){
			if(o1.l!=o2.l)
			return Long.valueOf(o1.l).compareTo(Long.valueOf(o2.l));
			return o1.r-o2.r;
		}
	}

	public static long sum(long a, long d, long n){

		long total = ((n)*((2*a)+(n-1)*d))/2;
		return total;
	}

	public static class trie{
		char ch;
		HashMap<Character,trie> hm = new HashMap<>();
		int count;
		boolean isterminal;
	}

	public static int partition(int [] arr, int s, int e){

		int index=s;
		int pivot = arr[e];
		for(int i=s;i<=e-1;i++){
			if(arr[i]<=pivot){
				arr = swap(arr, index, i);
				index++;
			}
		}
		swap(arr,index,e);
		print(arr);
		return index;
	}

	public static int[] swap(int[] arr, int low, int high){
		int temp = arr[low];
		arr[low]=arr[high];
		arr[high]=temp;
		return arr;
	}

	public static long gcd(long a, long b){
		if(a==0)
			return b;

		return gcd(b%a,a);
	}

	public static void print(int[] arr){
		for(int i=0;i<arr.length;i++)
			System.out.print(arr[i]+" ");
		System.out.println();
	}

	public static class FastReader {
		BufferedReader br;
		StringTokenizer st;

		public FastReader() {
			br = new BufferedReader(new InputStreamReader(System.in));
		}

		String next() {
			while (st == null || !st.hasMoreTokens()) {
				try {
					st = new StringTokenizer(br.readLine());
				} catch (Exception r) {
					r.printStackTrace();
				}
			}
			return st.nextToken();
		}

		int nextInt() {
			return Integer.parseInt(next());//converts string to integer
		}

		double nextDouble() {
			return Double.parseDouble(next());
		}

		long nextLong() {
			return Long.parseLong(next());
		}

		String nextLine() {
			String str = "";
			try {
				str = br.readLine();
			} catch (Exception r) {
				r.printStackTrace();
			}
			return str;
		}
	}

}


import java.util.*;
import java.io.*;
import java.math.*;
public class Main{
	static int mod = (int)1e9+7;
	public static PrintWriter out = new PrintWriter (new BufferedOutputStream(System.out));
	public static void main(String sp[])throws IOException{
		FastReader sc = new FastReader();
		char ch[] = sc.next().toCharArray();
		int n = ch.length;
		StringBuilder sb = new StringBuilder();
		String st = "";
		for(int i=0;i<n;i++){
			if(ch[i]=='a' || ch[i]=='b')
				sb.append(ch[i]);
		}
		st = sb.toString();
		if(st.length()==0){
			System.out.println("0");
			return;
		}
		long total=0;
		ArrayList<Integer> al = new ArrayList<>();
		int count=0;
		long mul=1;
		for(int i=0;i<st.length();i++){
			if(st.charAt(i)=='a'){
				count++;
			}else{
				if(count>0){
				al.add(count);
				}
				count=0;
			}
		}
		if(count>0){
		al.add(count);
		}
		mul=1;
		for(int i=0;i<al.size();i++){
			mul = (mul*(al.get(i)+1))%mod;
		}
		mul-=1;
		System.out.println(mul);
	}

	public static long[] swap(long arr[], int i, int j){

		long temp = arr[i];
		arr[i]=arr[j];
		arr[j]=temp;
		return arr;
	}

	public static class pair{
		int l;
		int r;
	}

	public static class comp implements Comparator<pair>{
		public int compare(pair o1, pair o2){
			if(o1.l!=o2.l)
			return Long.valueOf(o1.l).compareTo(Long.valueOf(o2.l));
			return o1.r-o2.r;
		}
	}

	public static long sum(long a, long d, long n){

		long total = ((n)*((2*a)+(n-1)*d))/2;
		return total;
	}

	public static class trie{
		char ch;
		HashMap<Character,trie> hm = new HashMap<>();
		int count;
		boolean isterminal;
	}

	public static int partition(int [] arr, int s, int e){

		int index=s;
		int pivot = arr[e];
		for(int i=s;i<=e-1;i++){
			if(arr[i]<=pivot){
				arr = swap(arr, index, i);
				index++;
			}
		}
		swap(arr,index,e);
		print(arr);
		return index;
	}

	public static int[] swap(int[] arr, int low, int high){
		int temp = arr[low];
		arr[low]=arr[high];
		arr[high]=temp;
		return arr;
	}

	public static long gcd(long a, long b){
		if(a==0)
			return b;

		return gcd(b%a,a);
	}

	public static void print(int[] arr){
		for(int i=0;i<arr.length;i++)
			System.out.print(arr[i]+" ");
		System.out.println();
	}

	public static class FastReader {
		BufferedReader br;
		StringTokenizer st;

		public FastReader() {
			br = new BufferedReader(new InputStreamReader(System.in));
		}

		String next() {
			while (st == null || !st.hasMoreTokens()) {
				try {
					st = new StringTokenizer(br.readLine());
				} catch (Exception r) {
					r.printStackTrace();
				}
			}
			return st.nextToken();
		}

		int nextInt() {
			return Integer.parseInt(next());//converts string to integer
		}

		double nextDouble() {
			return Double.parseDouble(next());
		}

		long nextLong() {
			return Long.parseLong(next());
		}

		String nextLine() {
			String str = "";
			try {
				str = br.readLine();
			} catch (Exception r) {
				r.printStackTrace();
			}
			return str;
		}
	}

}


import java.util.*;
import java.io.*;
import java.math.*;
public class Main{
	static int mod = (int)1e9+7;
	public static PrintWriter out = new PrintWriter (new BufferedOutputStream(System.out));
	public static void main(String sp[])throws IOException{
		FastReader sc = new FastReader();
		char ch[] = sc.next().toCharArray();
		int n = ch.length;
		StringBuilder sb = new StringBuilder();
		String st = "";
		for(int i=0;i<n;i++){
			if(ch[i]=='a' || ch[i]=='b')
				sb.append(ch[i]);
		}
		st = sb.toString();
		long total=0;
		ArrayList<Integer> al = new ArrayList<>();
		int count=0;
		long mul=1;
		for(int i=0;i<st.length();i++){
			if(st.charAt(i)=='a'){
				count++;
			}else{
				if(count>0){
				al.add(count);
				mul = (mul*count)%mod;}
				count=0;
			}
		}
		if(count>0)
		al.add(count);
		for(int i=0;i<al.size()-1;i++){
			total += mul+al.get(i);
			mul/=al.get(i);
			total%=mod;
		}
		total+=(al.get(al.size()-1));
		System.out.println(total);
	}

	public static long[] swap(long arr[], int i, int j){

		long temp = arr[i];
		arr[i]=arr[j];
		arr[j]=temp;
		return arr;
	}

	public static class pair{
		int l;
		int r;
	}

	public static class comp implements Comparator<pair>{
		public int compare(pair o1, pair o2){
			if(o1.l!=o2.l)
			return Long.valueOf(o1.l).compareTo(Long.valueOf(o2.l));
			return o1.r-o2.r;
		}
	}

	public static long sum(long a, long d, long n){

		long total = ((n)*((2*a)+(n-1)*d))/2;
		return total;
	}

	public static class trie{
		char ch;
		HashMap<Character,trie> hm = new HashMap<>();
		int count;
		boolean isterminal;
	}

	public static int partition(int [] arr, int s, int e){

		int index=s;
		int pivot = arr[e];
		for(int i=s;i<=e-1;i++){
			if(arr[i]<=pivot){
				arr = swap(arr, index, i);
				index++;
			}
		}
		swap(arr,index,e);
		print(arr);
		return index;
	}

	public static int[] swap(int[] arr, int low, int high){
		int temp = arr[low];
		arr[low]=arr[high];
		arr[high]=temp;
		return arr;
	}

	public static long gcd(long a, long b){
		if(a==0)
			return b;

		return gcd(b%a,a);
	}

	public static void print(int[] arr){
		for(int i=0;i<arr.length;i++)
			System.out.print(arr[i]+" ");
		System.out.println();
	}

	public static class FastReader {
		BufferedReader br;
		StringTokenizer st;

		public FastReader() {
			br = new BufferedReader(new InputStreamReader(System.in));
		}

		String next() {
			while (st == null || !st.hasMoreTokens()) {
				try {
					st = new StringTokenizer(br.readLine());
				} catch (Exception r) {
					r.printStackTrace();
				}
			}
			return st.nextToken();
		}

		int nextInt() {
			return Integer.parseInt(next());//converts string to integer
		}

		double nextDouble() {
			return Double.parseDouble(next());
		}

		long nextLong() {
			return Long.parseLong(next());
		}

		String nextLine() {
			String str = "";
			try {
				str = br.readLine();
			} catch (Exception r) {
				r.printStackTrace();
			}
			return str;
		}
	}

}


import java.util.*;
import java.io.*;
import java.math.*;
public class Main{
	static int mod = (int)1e9+7;
	public static PrintWriter out = new PrintWriter (new BufferedOutputStream(System.out));
	public static void main(String sp[])throws IOException{
		FastReader sc = new FastReader();
		char ch[] = sc.next().toCharArray();
		int n = ch.length;
		StringBuilder sb = new StringBuilder();
		String st = "";
		for(int i=0;i<n;i++){
			if(ch[i]=='a' || ch[i]=='b')
				sb.append(ch[i]);
		}
		st = sb.toString();
		if(st.length()==0){
			System.out.println("0");
			continue;
		}
		long total=0;
		ArrayList<Integer> al = new ArrayList<>();
		int count=0;
		long mul=1;
		for(int i=0;i<st.length();i++){
			if(st.charAt(i)=='a'){
				count++;
			}else{
				if(count>0){
				al.add(count);
				mul = (mul*count)%mod;}
				count=0;
			}
		}
		if(count>0){
		al.add(count);
		mul*=count;
		}

		for(int i=0;i<al.size()-1;i++){
			total += mul+al.get(i);
			mul/=al.get(i);
			total%=mod;
		}
		total+=(al.get(al.size()-1));
		System.out.println(total);
	}

	public static long[] swap(long arr[], int i, int j){

		long temp = arr[i];
		arr[i]=arr[j];
		arr[j]=temp;
		return arr;
	}

	public static class pair{
		int l;
		int r;
	}

	public static class comp implements Comparator<pair>{
		public int compare(pair o1, pair o2){
			if(o1.l!=o2.l)
			return Long.valueOf(o1.l).compareTo(Long.valueOf(o2.l));
			return o1.r-o2.r;
		}
	}

	public static long sum(long a, long d, long n){

		long total = ((n)*((2*a)+(n-1)*d))/2;
		return total;
	}

	public static class trie{
		char ch;
		HashMap<Character,trie> hm = new HashMap<>();
		int count;
		boolean isterminal;
	}

	public static int partition(int [] arr, int s, int e){

		int index=s;
		int pivot = arr[e];
		for(int i=s;i<=e-1;i++){
			if(arr[i]<=pivot){
				arr = swap(arr, index, i);
				index++;
			}
		}
		swap(arr,index,e);
		print(arr);
		return index;
	}

	public static int[] swap(int[] arr, int low, int high){
		int temp = arr[low];
		arr[low]=arr[high];
		arr[high]=temp;
		return arr;
	}

	public static long gcd(long a, long b){
		if(a==0)
			return b;

		return gcd(b%a,a);
	}

	public static void print(int[] arr){
		for(int i=0;i<arr.length;i++)
			System.out.print(arr[i]+" ");
		System.out.println();
	}

	public static class FastReader {
		BufferedReader br;
		StringTokenizer st;

		public FastReader() {
			br = new BufferedReader(new InputStreamReader(System.in));
		}

		String next() {
			while (st == null || !st.hasMoreTokens()) {
				try {
					st = new StringTokenizer(br.readLine());
				} catch (Exception r) {
					r.printStackTrace();
				}
			}
			return st.nextToken();
		}

		int nextInt() {
			return Integer.parseInt(next());//converts string to integer
		}

		double nextDouble() {
			return Double.parseDouble(next());
		}

		long nextLong() {
			return Long.parseLong(next());
		}

		String nextLine() {
			String str = "";
			try {
				str = br.readLine();
			} catch (Exception r) {
				r.printStackTrace();
			}
			return str;
		}
	}

}


import java.util.*;
import java.io.*;
import java.math.*;
public class Main{
	static int mod = (int)1e9+7;
	public static PrintWriter out = new PrintWriter (new BufferedOutputStream(System.out));
	public static void main(String sp[])throws IOException{
		FastReader sc = new FastReader();
		char ch[] = sc.next().toCharArray();
		int n = ch.length;
		StringBuilder sb = new StringBuilder();
		String st = "";
		for(int i=0;i<n;i++){
			if(ch[i]=='a' || ch[i]=='b')
				sb.append(ch[i]);
		}
		st = sb.toString();
		if(st.length()==0){
			System.out.println("0");
			return;
		}
		long total=0;
		ArrayList<Integer> al = new ArrayList<>();
		int count=0;
		long mul=1;
		for(int i=0;i<al.size();i++){
			mul = (mul*(al.get(i)+1))%mod;
		}
		System.out.println(mul);
	}

	public static long[] swap(long arr[], int i, int j){

		long temp = arr[i];
		arr[i]=arr[j];
		arr[j]=temp;
		return arr;
	}

	public static class pair{
		int l;
		int r;
	}

	public static class comp implements Comparator<pair>{
		public int compare(pair o1, pair o2){
			if(o1.l!=o2.l)
			return Long.valueOf(o1.l).compareTo(Long.valueOf(o2.l));
			return o1.r-o2.r;
		}
	}

	public static long sum(long a, long d, long n){

		long total = ((n)*((2*a)+(n-1)*d))/2;
		return total;
	}

	public static class trie{
		char ch;
		HashMap<Character,trie> hm = new HashMap<>();
		int count;
		boolean isterminal;
	}

	public static int partition(int [] arr, int s, int e){

		int index=s;
		int pivot = arr[e];
		for(int i=s;i<=e-1;i++){
			if(arr[i]<=pivot){
				arr = swap(arr, index, i);
				index++;
			}
		}
		swap(arr,index,e);
		print(arr);
		return index;
	}

	public static int[] swap(int[] arr, int low, int high){
		int temp = arr[low];
		arr[low]=arr[high];
		arr[high]=temp;
		return arr;
	}

	public static long gcd(long a, long b){
		if(a==0)
			return b;

		return gcd(b%a,a);
	}

	public static void print(int[] arr){
		for(int i=0;i<arr.length;i++)
			System.out.print(arr[i]+" ");
		System.out.println();
	}

	public static class FastReader {
		BufferedReader br;
		StringTokenizer st;

		public FastReader() {
			br = new BufferedReader(new InputStreamReader(System.in));
		}

		String next() {
			while (st == null || !st.hasMoreTokens()) {
				try {
					st = new StringTokenizer(br.readLine());
				} catch (Exception r) {
					r.printStackTrace();
				}
			}
			return st.nextToken();
		}

		int nextInt() {
			return Integer.parseInt(next());//converts string to integer
		}

		double nextDouble() {
			return Double.parseDouble(next());
		}

		long nextLong() {
			return Long.parseLong(next());
		}

		String nextLine() {
			String str = "";
			try {
				str = br.readLine();
			} catch (Exception r) {
				r.printStackTrace();
			}
			return str;
		}
	}

}


import java.util.ArrayList;
import java.util.Scanner;
public class runner {

	public static void main(String[] args) {

		double mod = 10e9+7;
		long acounter=0;
		long answer = 1;

		ArrayList<Long> combinations = new ArrayList<Long>();
		StringBuilder sb = new StringBuilder();
		Scanner scan = new Scanner(System.in);
		sb.append(scan.nextLine());

		for(int i=0;i<=sb.length()-1;i++)
		{
			char tempChar = sb.charAt(i);
			if(tempChar=='a') acounter++;
			if(tempChar=='b')
			{
				if(acounter>=1)
					combinations.add(acounter);
				acounter=0;
			}
		}

		 combinations.add(acounter);

		for(long a : combinations)
			answer = (long) (answer *(a+1) % mod);

		System.out.println((answer-1+ mod)% mod);

	}
}


import java.util.ArrayList;
import java.util.Scanner;
public class runner {

	public static void main(String[] args) {

		double mod = 10e9+7;
		long acounter=0;
		long answer = 1;

		ArrayList<Long> combinations = new ArrayList<Long>();
		StringBuilder sb = new StringBuilder();
		Scanner scan = new Scanner(System.in);
		sb.append(scan.nextLine());

		for(int i=0;i<=sb.length()-1;i++)
		{
			char tempChar = sb.charAt(i);
			if(tempChar=='a') acounter++;
			if(tempChar=='b')
			{
				if(acounter>=1)
					combinations.add(acounter);
				acounter=0;
			}
		}

		 combinations.add(acounter);

		for(long a : combinations)
			answer = (long) (answer *(a+1) % mod);

		System.out.println((answer-1 % mod) + mod);

	}
}


import java.util.ArrayList;
import java.util.Scanner;
public class runner {

	public static void main(String[] args) {

		double mod = 10e9+7;
		long acounter=0;
		long answer = 1;

		ArrayList<Long> combinations = new ArrayList<Long>();
		StringBuilder sb = new StringBuilder();
		Scanner scan = new Scanner(System.in);
		sb.append(scan.nextLine());

		for(int i=0;i<=sb.length()-1;i++)
		{
			char tempChar = sb.charAt(i);
			if(tempChar=='a') acounter++;
			if(tempChar=='b')
			{
				if(acounter>=1)
					combinations.add(acounter);
				acounter=0;
			}
		}

		 combinations.add(acounter);

		for(long a : combinations)
			answer = (long) (answer *(a+1) % mod);

		System.out.println(answer-1);

	}
}


import java.util.ArrayList;
import java.util.Scanner;
public class runner {

	public static void main(String[] args) {

		double mod = 10e9+7;
		int acounter=0;
		int answer = 1;

		ArrayList<Integer> combinations = new ArrayList<Integer>();
		StringBuilder sb = new StringBuilder();
		Scanner scan = new Scanner(System.in);
		sb.append(scan.nextLine());

		for(int i=0;i<=sb.length()-1;i++)
		{
			char tempChar = sb.charAt(i);
			if(tempChar=='a') acounter++;
			if(tempChar=='b')
			{
				if(acounter>=1)
					combinations.add(acounter);
				acounter=0;
			}
		}

		 combinations.add(acounter);

		for(int a : combinations)
			answer = (int) (answer *(a+1) % mod);

		System.out.println(answer-1);

	}
}


package sequenceDetector;

import java.io.File;
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.Scanner;
import java.util.regex.*;

public class runner {

	public static void main(String[] args) throws FileNotFoundException {

		double mod = 10e9+7;

		ArrayList<Integer> combinations = new ArrayList<Integer>();
		StringBuilder sb = new StringBuilder();
		Scanner scan = new Scanner(System.in);

			sb.append(scan.nextLine());

		int i=0;
		int acounter=0;

		for(i=0;i<=sb.length()-1;i++)
		{
			char tempChar = sb.charAt(i);
			if(tempChar=='a') acounter++;
			if(tempChar=='b')
			{
				if(acounter>=1)
					{
					//System.out.println(acounter);
					combinations.add(acounter);
					acounter=0;
					}
			}
		}
			//combinations.add(acounter);

		int number = 0;
		number = 1;
		int sumofELements = 0;
		//System.out.println();

		for(int a : combinations)
		{
			number = (int) (number *(a+1) % mod);
			//System.out.println(number);
		}
		//System.out.println();

			System.out.println(number-1);

	}
}


public class runner {

	public static void main(String[] args) {

		double mod = 10e9+7;
		int acounter=0;
		int answer = 1;

		ArrayList<Integer> combinations = new ArrayList<Integer>();
		StringBuilder sb = new StringBuilder();
		Scanner scan = new Scanner(System.in);
		sb.append(scan.nextLine());

		for(int i=0;i<=sb.length()-1;i++)
		{
			char tempChar = sb.charAt(i);
			if(tempChar=='a') acounter++;
			if(tempChar=='b')
			{
				if(acounter>=1)
					combinations.add(acounter);
				acounter=0;
			}
		}

		 combinations.add(acounter);

		for(int a : combinations)
			answer = (int) (answer *(a+1) % mod);

		System.out.println(answer-1);

	}
}


import java.util.ArrayList;
import java.util.Scanner;
public class runner {

	public static void main(String[] args) {

		double mod = 1e9+7;
		long acounter=0;
		long answer = 1;
		long sum = 0;
		ArrayList<Long> combinations = new ArrayList<Long>();
		StringBuilder sb = new StringBuilder();
		Scanner scan = new Scanner(System.in);
		sb.append(scan.nextLine());

		for(int i=0;i<=sb.length()-1;i++)
		{
			char tempChar = sb.charAt(i);
			if(tempChar=='a') acounter++;
			if(tempChar=='b')
			{
				if(acounter>0)
					combinations.add(acounter);
				acounter=0;
			}
		}
		if(acounter!=0)
				combinations.add(acounter);

		//calculate the number of combinations possible
		for(long a : combinations)
			answer += (long) (answer *(a) % mod);

		long finalAnswer = (long) ((answer)-1);
		System.out.println(finalAnswer);

	}
}


import java.util.ArrayList;
import java.util.Scanner;
public class runner {

	public static void main(String[] args) {

		double mod = 1e9+7;
		long acounter=0;
		long answer = 1;

		ArrayList<Long> combinations = new ArrayList<Long>();
		StringBuilder sb = new StringBuilder();
		Scanner scan = new Scanner(System.in);
		sb.append(scan.nextLine());

		for(int i=0;i<=sb.length()-1;i++)
		{
			char tempChar = sb.charAt(i);
			if(tempChar=='a') acounter++;
			if(tempChar=='b')
			{
				if(acounter>=1)
					combinations.add(acounter);
				acounter=0;
			}
		}

		 combinations.add(acounter);

		for(long a : combinations)
			answer = (long) (answer *(a+1) % mod);

		long finalAnswer = (long) ((answer-1+ mod)% mod);
		System.out.println(finalAnswer);

	}
}


import java.util.ArrayList;
import java.util.Scanner;
public class runner {

	public static void main(String[] args) {

		double mod = 10e9+7;
		long acounter=0;
		long answer = 1;

		ArrayList<Long> combinations = new ArrayList<Long>();
		StringBuilder sb = new StringBuilder();
		Scanner scan = new Scanner(System.in);
		sb.append(scan.nextLine());

		for(int i=0;i<=sb.length()-1;i++)
		{
			char tempChar = sb.charAt(i);
			if(tempChar=='a') acounter++;
			if(tempChar=='b')
			{
				if(acounter>=1)
					combinations.add(acounter);
				acounter=0;
			}
		}

		 combinations.add(acounter);

		for(long a : combinations)
			answer = (long) (answer *(a+1) % mod);

		long finalAnswer = (long) ((answer-1+ mod)% mod);
		System.out.println(finalAnswer);

	}
}


import java.io.*;
import java.util.*;

public class Main {
    public static void main(String args[]) throws Exception {
        Scan in = new Scan ();
        Print out = new Print ();

        String s = in.scanString();
        StringBuilder sb = new StringBuilder(s.length());

        for(int i = 0; i < s.length(); i++)
        	if(s.charAt(i) == 'a' || s.charAt(i) == 'b')
        		sb.append(s.charAt(i));

        s = sb.toString();

        long sum = 0,
        	 M = 1000000007l;

		int multiplier = 1,
			aNum = 0;

        if(s.charAt(0) == 'a') {
        	sum = aNum = 1;
        }

        for(int i = 1; i < s.length(); i++) {
        	if(s.charAt(i) == 'a') {
        		if(aNum > 0 && s.charAt(i - 1) == 'b') {
        			multiplier += aNum - 1;
        			aNum = 0;
        		}
        		sum += multiplier;
        		aNum++;
        	}
        	else if(s.charAt(i) == 'b') {
        		if(s.charAt(i - 1) == 'a')
        			multiplier++;
        	}
        	/*else {
        		multiplier = 1;
        		aNum = 0;
        	}*/
        }

        out.println(Long.valueOf(sum % M).toString());

        out.close();
    }

    static class Scan {
		private byte[] buf=new byte[1024];
		private int index;
		private InputStream in;
		private int total;
		public Scan()
		{
			in=System.in;
		}
		public int scan()throws IOException
		{
			if(total<0)
			throw new InputMismatchException();
			if(index>=total)
			{
				index=0;
				total=in.read(buf);
				if(total<=0)
				return -1;
			}
			return buf[index++];
		}
		public int scanInt()throws IOException
		{
			int integer=0;
			int n=scan();
			while(isWhiteSpace(n))
			n=scan();
			int neg=1;
			if(n=='-')
			{
				neg=-1;
				n=scan();
			}
			while(!isWhiteSpace(n))
			{
				if(n>='0'&&n<='9')
				{
					integer*=10;
					integer+=n-'0';
					n=scan();
				}
				else throw new InputMismatchException();
			}
			return neg*integer;
		}
		public long scanLong()throws IOException
		{
			long integer=0;
			int n=scan();
			while(isWhiteSpace(n))
			n=scan();
			int neg=1;
			if(n=='-')
			{
				neg=-1;
				n=scan();
			}
			while(!isWhiteSpace(n))
			{
				if(n>='0'&&n<='9')
				{
					integer*=10;
					integer+=n-'0';
					n=scan();
				}
				else throw new InputMismatchException();
			}
			return neg*integer;
		}
		public double scanDouble()throws IOException
		{
			double doub=0;
			int n=scan();
			while(isWhiteSpace(n))
			n=scan();
			int neg=1;
			if(n=='-')
			{
				neg=-1;
				n=scan();
			}
			while(!isWhiteSpace(n)&&n!='.')
			{
				if(n>='0'&&n<='9')
				{
					doub*=10;
					doub+=n-'0';
					n=scan();
				}
				else throw new InputMismatchException();
			}
			if(n=='.')
			{
				n=scan();
				double temp=1;
				while(!isWhiteSpace(n))
				{
					if(n>='0'&&n<='9')
					{
						temp/=10;
						doub+=(n-'0')*temp;
						n=scan();
					}
					else throw new InputMismatchException();
				}
			}
			return doub*neg;
		}
		public String scanString()throws IOException
		{
			StringBuilder sb=new StringBuilder();
			int n=scan();
			while(isWhiteSpace(n))
			n=scan();
			while(!isWhiteSpace(n))
			{
				sb.append((char)n);
				n=scan();
			}
			return sb.toString();
		}
		private boolean isWhiteSpace(int n)
		{
			if(n==' '||n=='\n'||n=='\r'||n=='\t'||n==-1)
			return true;
			return false;
		}
	}

	static class Print {
		private final BufferedWriter bw;
		public Print()
		{
			bw=new BufferedWriter(new OutputStreamWriter(System.out));
		}
		public void print(String str)throws IOException
		{
			bw.append(str);
		}
		public void println(String str)throws IOException
		{
			print(str);
			bw.append("\n");
		}
		public void flushedPrintln(String str)throws IOException {
			println(str);
			bw.flush();
		}
		public void close()throws IOException
		{
			bw.close();
		}
		public void flush() throws IOException {
			bw.flush();
		}
	}
}


import java.io.*;
import java.util.*;

public class Main {
    public static void main(String args[]) throws Exception {
        Scan in = new Scan ();
        Print out = new Print ();

        String s = in.scanString();

        long sum = 0;

		int multiplier = 1;

        if(s.charAt(0) == 'a')
        	sum = 1;

        for(int i = 1; i < s.length(); i++) {
        	if(s.charAt(i) == 'a') {
        		sum += multiplier;
        	}
        	else if(s.charAt(i) == 'b') {
        		if(s.charAt(i - 1) == 'a')
        			multiplier++;
        	}
        	else {
        		multiplier = 1;
        	}
        }

        out.println(Long.valueOf(sum % 1000000007l).toString());

        out.close();
    }

    static class Scan {
		private byte[] buf=new byte[1024];
		private int index;
		private InputStream in;
		private int total;
		public Scan()
		{
			in=System.in;
		}
		public int scan()throws IOException
		{
			if(total<0)
			throw new InputMismatchException();
			if(index>=total)
			{
				index=0;
				total=in.read(buf);
				if(total<=0)
				return -1;
			}
			return buf[index++];
		}
		public int scanInt()throws IOException
		{
			int integer=0;
			int n=scan();
			while(isWhiteSpace(n))
			n=scan();
			int neg=1;
			if(n=='-')
			{
				neg=-1;
				n=scan();
			}
			while(!isWhiteSpace(n))
			{
				if(n>='0'&&n<='9')
				{
					integer*=10;
					integer+=n-'0';
					n=scan();
				}
				else throw new InputMismatchException();
			}
			return neg*integer;
		}
		public long scanLong()throws IOException
		{
			long integer=0;
			int n=scan();
			while(isWhiteSpace(n))
			n=scan();
			int neg=1;
			if(n=='-')
			{
				neg=-1;
				n=scan();
			}
			while(!isWhiteSpace(n))
			{
				if(n>='0'&&n<='9')
				{
					integer*=10;
					integer+=n-'0';
					n=scan();
				}
				else throw new InputMismatchException();
			}
			return neg*integer;
		}
		public double scanDouble()throws IOException
		{
			double doub=0;
			int n=scan();
			while(isWhiteSpace(n))
			n=scan();
			int neg=1;
			if(n=='-')
			{
				neg=-1;
				n=scan();
			}
			while(!isWhiteSpace(n)&&n!='.')
			{
				if(n>='0'&&n<='9')
				{
					doub*=10;
					doub+=n-'0';
					n=scan();
				}
				else throw new InputMismatchException();
			}
			if(n=='.')
			{
				n=scan();
				double temp=1;
				while(!isWhiteSpace(n))
				{
					if(n>='0'&&n<='9')
					{
						temp/=10;
						doub+=(n-'0')*temp;
						n=scan();
					}
					else throw new InputMismatchException();
				}
			}
			return doub*neg;
		}
		public String scanString()throws IOException
		{
			StringBuilder sb=new StringBuilder();
			int n=scan();
			while(isWhiteSpace(n))
			n=scan();
			while(!isWhiteSpace(n))
			{
				sb.append((char)n);
				n=scan();
			}
			return sb.toString();
		}
		private boolean isWhiteSpace(int n)
		{
			if(n==' '||n=='\n'||n=='\r'||n=='\t'||n==-1)
			return true;
			return false;
		}
	}

	static class Print {
		private final BufferedWriter bw;
		public Print()
		{
			bw=new BufferedWriter(new OutputStreamWriter(System.out));
		}
		public void print(String str)throws IOException
		{
			bw.append(str);
		}
		public void println(String str)throws IOException
		{
			print(str);
			bw.append("\n");
		}
		public void flushedPrintln(String str)throws IOException {
			println(str);
			bw.flush();
		}
		public void close()throws IOException
		{
			bw.close();
		}
		public void flush() throws IOException {
			bw.flush();
		}
	}
}


import java.io.*;
import java.util.*;

public class Main {
    public static void main(String args[]) throws Exception {
        Scan in = new Scan ();
        Print out = new Print ();

        String s = in.scanString();
        StringBuilder sb = new StringBuilder(s.length());

        for(int i = 0; i < s.length(); i++)
        	if(s.charAt(i) == 'a' || s.charAt(i) == 'b')
        		sb.append(s.charAt(i));

        s = sb.toString();

        long sum = 0,
        	 M = 1000000007l;

        if(s.length() > 0) {
			long multiplier = 0;

	        for(int i = 0; i < s.length(); i++) {
	        	if(s.charAt(i) == 'a') {
	        		sum += (multiplier + 1);
	        	}
	        	else if(s.charAt(i) == 'b') {
	        		if(i > 0 && s.charAt(i - 1) == 'a'){
	        			multiplier = sum;
	        		}
	        	}
	        }
	    }

        out.println(Long.valueOf(sum % M).toString());

        out.close();
    }

    static class Scan {
		private byte[] buf=new byte[1024];
		private int index;
		private InputStream in;
		private int total;
		public Scan()
		{
			in=System.in;
		}
		public int scan()throws IOException
		{
			if(total<0)
			throw new InputMismatchException();
			if(index>=total)
			{
				index=0;
				total=in.read(buf);
				if(total<=0)
				return -1;
			}
			return buf[index++];
		}
		public int scanInt()throws IOException
		{
			int integer=0;
			int n=scan();
			while(isWhiteSpace(n))
			n=scan();
			int neg=1;
			if(n=='-')
			{
				neg=-1;
				n=scan();
			}
			while(!isWhiteSpace(n))
			{
				if(n>='0'&&n<='9')
				{
					integer*=10;
					integer+=n-'0';
					n=scan();
				}
				else throw new InputMismatchException();
			}
			return neg*integer;
		}
		public long scanLong()throws IOException
		{
			long integer=0;
			int n=scan();
			while(isWhiteSpace(n))
			n=scan();
			int neg=1;
			if(n=='-')
			{
				neg=-1;
				n=scan();
			}
			while(!isWhiteSpace(n))
			{
				if(n>='0'&&n<='9')
				{
					integer*=10;
					integer+=n-'0';
					n=scan();
				}
				else throw new InputMismatchException();
			}
			return neg*integer;
		}
		public double scanDouble()throws IOException
		{
			double doub=0;
			int n=scan();
			while(isWhiteSpace(n))
			n=scan();
			int neg=1;
			if(n=='-')
			{
				neg=-1;
				n=scan();
			}
			while(!isWhiteSpace(n)&&n!='.')
			{
				if(n>='0'&&n<='9')
				{
					doub*=10;
					doub+=n-'0';
					n=scan();
				}
				else throw new InputMismatchException();
			}
			if(n=='.')
			{
				n=scan();
				double temp=1;
				while(!isWhiteSpace(n))
				{
					if(n>='0'&&n<='9')
					{
						temp/=10;
						doub+=(n-'0')*temp;
						n=scan();
					}
					else throw new InputMismatchException();
				}
			}
			return doub*neg;
		}
		public String scanString()throws IOException
		{
			StringBuilder sb=new StringBuilder();
			int n=scan();
			while(isWhiteSpace(n))
			n=scan();
			while(!isWhiteSpace(n))
			{
				sb.append((char)n);
				n=scan();
			}
			return sb.toString();
		}
		private boolean isWhiteSpace(int n)
		{
			if(n==' '||n=='\n'||n=='\r'||n=='\t'||n==-1)
			return true;
			return false;
		}
	}

	static class Print {
		private final BufferedWriter bw;
		public Print()
		{
			bw=new BufferedWriter(new OutputStreamWriter(System.out));
		}
		public void print(String str)throws IOException
		{
			bw.append(str);
		}
		public void println(String str)throws IOException
		{
			print(str);
			bw.append("\n");
		}
		public void flushedPrintln(String str)throws IOException {
			println(str);
			bw.flush();
		}
		public void close()throws IOException
		{
			bw.close();
		}
		public void flush() throws IOException {
			bw.flush();
		}
	}
}


import java.io.*;
import java.util.*;

public class Main {
    public static void main(String args[]) throws Exception {
        Scan in = new Scan ();
        Print out = new Print ();

        String s = in.scanString();

        long sum = 0,
        	 M = 1000000007l;

		int multiplier = 1,
			aNum = 0;

        if(s.charAt(0) == 'a') {
        	sum = aNum = 1;
        }

        for(int i = 1; i < s.length(); i++) {
        	if(s.charAt(i) == 'a') {
        		if(aNum > 0 && s.charAt(i - 1) == 'b') {
        			multiplier += aNum - 1;
        			aNum = 0;
        		}
        		sum += multiplier;
        		aNum++;
        	}
        	else if(s.charAt(i) == 'b') {
        		if(s.charAt(i - 1) == 'a')
        			multiplier++;
        	}
        	else {
        		multiplier = 1;
        		aNum = 0;
        	}
        }

        out.println(Long.valueOf(sum % M).toString());

        out.close();
    }

    static class Scan {
		private byte[] buf=new byte[1024];
		private int index;
		private InputStream in;
		private int total;
		public Scan()
		{
			in=System.in;
		}
		public int scan()throws IOException
		{
			if(total<0)
			throw new InputMismatchException();
			if(index>=total)
			{
				index=0;
				total=in.read(buf);
				if(total<=0)
				return -1;
			}
			return buf[index++];
		}
		public int scanInt()throws IOException
		{
			int integer=0;
			int n=scan();
			while(isWhiteSpace(n))
			n=scan();
			int neg=1;
			if(n=='-')
			{
				neg=-1;
				n=scan();
			}
			while(!isWhiteSpace(n))
			{
				if(n>='0'&&n<='9')
				{
					integer*=10;
					integer+=n-'0';
					n=scan();
				}
				else throw new InputMismatchException();
			}
			return neg*integer;
		}
		public long scanLong()throws IOException
		{
			long integer=0;
			int n=scan();
			while(isWhiteSpace(n))
			n=scan();
			int neg=1;
			if(n=='-')
			{
				neg=-1;
				n=scan();
			}
			while(!isWhiteSpace(n))
			{
				if(n>='0'&&n<='9')
				{
					integer*=10;
					integer+=n-'0';
					n=scan();
				}
				else throw new InputMismatchException();
			}
			return neg*integer;
		}
		public double scanDouble()throws IOException
		{
			double doub=0;
			int n=scan();
			while(isWhiteSpace(n))
			n=scan();
			int neg=1;
			if(n=='-')
			{
				neg=-1;
				n=scan();
			}
			while(!isWhiteSpace(n)&&n!='.')
			{
				if(n>='0'&&n<='9')
				{
					doub*=10;
					doub+=n-'0';
					n=scan();
				}
				else throw new InputMismatchException();
			}
			if(n=='.')
			{
				n=scan();
				double temp=1;
				while(!isWhiteSpace(n))
				{
					if(n>='0'&&n<='9')
					{
						temp/=10;
						doub+=(n-'0')*temp;
						n=scan();
					}
					else throw new InputMismatchException();
				}
			}
			return doub*neg;
		}
		public String scanString()throws IOException
		{
			StringBuilder sb=new StringBuilder();
			int n=scan();
			while(isWhiteSpace(n))
			n=scan();
			while(!isWhiteSpace(n))
			{
				sb.append((char)n);
				n=scan();
			}
			return sb.toString();
		}
		private boolean isWhiteSpace(int n)
		{
			if(n==' '||n=='\n'||n=='\r'||n=='\t'||n==-1)
			return true;
			return false;
		}
	}

	static class Print {
		private final BufferedWriter bw;
		public Print()
		{
			bw=new BufferedWriter(new OutputStreamWriter(System.out));
		}
		public void print(String str)throws IOException
		{
			bw.append(str);
		}
		public void println(String str)throws IOException
		{
			print(str);
			bw.append("\n");
		}
		public void flushedPrintln(String str)throws IOException {
			println(str);
			bw.flush();
		}
		public void close()throws IOException
		{
			bw.close();
		}
		public void flush() throws IOException {
			bw.flush();
		}
	}
}


import java.io.*;
import java.util.*;

public class Main {
    public static void main(String args[]) throws Exception {
        Scan in = new Scan ();
        Print out = new Print ();

        String s = in.scanString();

        long sum = 0,
        	 M = 1000000007l;

		int multiplier = 1;

        if(s.charAt(0) == 'a')
        	sum = 1;

        for(int i = 1; i < s.length(); i++) {
        	if(s.charAt(i) == 'a') {
        		if(s.charAt(i - 1) == 'a')
        			multiplier++;
        		sum += multiplier;
        	}
        	else if(s.charAt(i) == 'b') {
        		if(s.charAt(i - 1) == 'a')
        			multiplier++;
        	}
        	else {
        		multiplier = 1;
        	}
        }

        out.println(Long.valueOf(sum % M).toString());

        out.close();
    }

    static class Scan {
		private byte[] buf=new byte[1024];
		private int index;
		private InputStream in;
		private int total;
		public Scan()
		{
			in=System.in;
		}
		public int scan()throws IOException
		{
			if(total<0)
			throw new InputMismatchException();
			if(index>=total)
			{
				index=0;
				total=in.read(buf);
				if(total<=0)
				return -1;
			}
			return buf[index++];
		}
		public int scanInt()throws IOException
		{
			int integer=0;
			int n=scan();
			while(isWhiteSpace(n))
			n=scan();
			int neg=1;
			if(n=='-')
			{
				neg=-1;
				n=scan();
			}
			while(!isWhiteSpace(n))
			{
				if(n>='0'&&n<='9')
				{
					integer*=10;
					integer+=n-'0';
					n=scan();
				}
				else throw new InputMismatchException();
			}
			return neg*integer;
		}
		public long scanLong()throws IOException
		{
			long integer=0;
			int n=scan();
			while(isWhiteSpace(n))
			n=scan();
			int neg=1;
			if(n=='-')
			{
				neg=-1;
				n=scan();
			}
			while(!isWhiteSpace(n))
			{
				if(n>='0'&&n<='9')
				{
					integer*=10;
					integer+=n-'0';
					n=scan();
				}
				else throw new InputMismatchException();
			}
			return neg*integer;
		}
		public double scanDouble()throws IOException
		{
			double doub=0;
			int n=scan();
			while(isWhiteSpace(n))
			n=scan();
			int neg=1;
			if(n=='-')
			{
				neg=-1;
				n=scan();
			}
			while(!isWhiteSpace(n)&&n!='.')
			{
				if(n>='0'&&n<='9')
				{
					doub*=10;
					doub+=n-'0';
					n=scan();
				}
				else throw new InputMismatchException();
			}
			if(n=='.')
			{
				n=scan();
				double temp=1;
				while(!isWhiteSpace(n))
				{
					if(n>='0'&&n<='9')
					{
						temp/=10;
						doub+=(n-'0')*temp;
						n=scan();
					}
					else throw new InputMismatchException();
				}
			}
			return doub*neg;
		}
		public String scanString()throws IOException
		{
			StringBuilder sb=new StringBuilder();
			int n=scan();
			while(isWhiteSpace(n))
			n=scan();
			while(!isWhiteSpace(n))
			{
				sb.append((char)n);
				n=scan();
			}
			return sb.toString();
		}
		private boolean isWhiteSpace(int n)
		{
			if(n==' '||n=='\n'||n=='\r'||n=='\t'||n==-1)
			return true;
			return false;
		}
	}

	static class Print {
		private final BufferedWriter bw;
		public Print()
		{
			bw=new BufferedWriter(new OutputStreamWriter(System.out));
		}
		public void print(String str)throws IOException
		{
			bw.append(str);
		}
		public void println(String str)throws IOException
		{
			print(str);
			bw.append("\n");
		}
		public void flushedPrintln(String str)throws IOException {
			println(str);
			bw.flush();
		}
		public void close()throws IOException
		{
			bw.close();
		}
		public void flush() throws IOException {
			bw.flush();
		}
	}
}


import java.io.*;
import java.util.*;

public class Main {
    public static void main(String args[]) throws Exception {
        Scan in = new Scan ();
        Print out = new Print ();

        String s = in.scanString();
        StringBuilder sb = new StringBuilder(s.length());

        for(int i = 0; i < s.length(); i++)
        	if(s.charAt(i) == 'a' || s.charAt(i) == 'b')
        		sb.append(s.charAt(i));

        s = sb.toString();

        long sum = 0,
        	 M = 1000000007l;

        if(s.length() > 0) {
			int multiplier = 1,
				aNum = 0;

	        for(int i = 0; i < s.length(); i++) {
	        	if(s.charAt(i) == 'a') {
	        		sum += multiplier;
	        		aNum++;
	        	}
	        	else if(s.charAt(i) == 'b') {
	        		if(i > 0 && s.charAt(i - 1) == 'a'){
	        			multiplier += aNum;
	        			aNum = 0;
	        		}
	        	}
	        }
	    }

        out.println(Long.valueOf(sum % M).toString());

        out.close();
    }

    static class Scan {
		private byte[] buf=new byte[1024];
		private int index;
		private InputStream in;
		private int total;
		public Scan()
		{
			in=System.in;
		}
		public int scan()throws IOException
		{
			if(total<0)
			throw new InputMismatchException();
			if(index>=total)
			{
				index=0;
				total=in.read(buf);
				if(total<=0)
				return -1;
			}
			return buf[index++];
		}
		public int scanInt()throws IOException
		{
			int integer=0;
			int n=scan();
			while(isWhiteSpace(n))
			n=scan();
			int neg=1;
			if(n=='-')
			{
				neg=-1;
				n=scan();
			}
			while(!isWhiteSpace(n))
			{
				if(n>='0'&&n<='9')
				{
					integer*=10;
					integer+=n-'0';
					n=scan();
				}
				else throw new InputMismatchException();
			}
			return neg*integer;
		}
		public long scanLong()throws IOException
		{
			long integer=0;
			int n=scan();
			while(isWhiteSpace(n))
			n=scan();
			int neg=1;
			if(n=='-')
			{
				neg=-1;
				n=scan();
			}
			while(!isWhiteSpace(n))
			{
				if(n>='0'&&n<='9')
				{
					integer*=10;
					integer+=n-'0';
					n=scan();
				}
				else throw new InputMismatchException();
			}
			return neg*integer;
		}
		public double scanDouble()throws IOException
		{
			double doub=0;
			int n=scan();
			while(isWhiteSpace(n))
			n=scan();
			int neg=1;
			if(n=='-')
			{
				neg=-1;
				n=scan();
			}
			while(!isWhiteSpace(n)&&n!='.')
			{
				if(n>='0'&&n<='9')
				{
					doub*=10;
					doub+=n-'0';
					n=scan();
				}
				else throw new InputMismatchException();
			}
			if(n=='.')
			{
				n=scan();
				double temp=1;
				while(!isWhiteSpace(n))
				{
					if(n>='0'&&n<='9')
					{
						temp/=10;
						doub+=(n-'0')*temp;
						n=scan();
					}
					else throw new InputMismatchException();
				}
			}
			return doub*neg;
		}
		public String scanString()throws IOException
		{
			StringBuilder sb=new StringBuilder();
			int n=scan();
			while(isWhiteSpace(n))
			n=scan();
			while(!isWhiteSpace(n))
			{
				sb.append((char)n);
				n=scan();
			}
			return sb.toString();
		}
		private boolean isWhiteSpace(int n)
		{
			if(n==' '||n=='\n'||n=='\r'||n=='\t'||n==-1)
			return true;
			return false;
		}
	}

	static class Print {
		private final BufferedWriter bw;
		public Print()
		{
			bw=new BufferedWriter(new OutputStreamWriter(System.out));
		}
		public void print(String str)throws IOException
		{
			bw.append(str);
		}
		public void println(String str)throws IOException
		{
			print(str);
			bw.append("\n");
		}
		public void flushedPrintln(String str)throws IOException {
			println(str);
			bw.flush();
		}
		public void close()throws IOException
		{
			bw.close();
		}
		public void flush() throws IOException {
			bw.flush();
		}
	}
}


#include <bits/stdc++.h>

using namespace std;

#define il inline
#define re register
#define Rep(i, s, e) for (re int i = s; i <= e; ++i)
#define Dep(i, s, e) for (re int i = s; i >= e; --i)
#define file(a) freopen(#a".in", "r", stdin), freopen(#a".out", "w", stdout)

const int N = 100010;

il int read() {
    int x = 0; bool f = true; char c = getchar();
    while (!isdigit(c)) {if (c == '-') f = false; c = getchar();}
    while (isdigit(c)) x = (x << 1) + (x << 3) + (c ^ 48), c = getchar();
    return f ? x : -x;
}

int n, a[N];

int main() {
    n = read();
    Rep(i, 1, n) a[i] = read();
    std::sort(a + 1, a + n + 1);
    if (!a[n]) return puts("cslnb") & 0;
    int cnt = 0, sum = 0;
    Rep(i, 1, n) {
        if (a[i] == a[i - 1]) {
            if (++cnt >= 2 || a[i - 1] == a[i] - 1) return puts("cslnb") & 0;
        }
        sum ^= ((a[i] - i + 1) & 1);
    }
    puts(sum & 1 ? "sjfnb" : "cslnb");
    return 0;
}


#include <bits/stdc++.h>

using namespace std;

#define il inline
#define re register
#define Rep(i, s, e) for (re int i = s; i <= e; ++i)
#define Dep(i, s, e) for (re int i = s; i >= e; --i)
#define file(a) freopen(#a".in", "r", stdin), freopen(#a".out", "w", stdout)

const int N = 100010;

il int read() {
    int x = 0; bool f = true; char c = getchar();
    while (!isdigit(c)) {if (c == '-') f = false; c = getchar();}
    while (isdigit(c)) x = (x << 1) + (x << 3) + (c ^ 48), c = getchar();
    return f ? x : -x;
}

int n, a[N];

int main() {
    n = read();
    Rep(i, 1, n) a[i] = read();
    std::sort(a + 1, a + n + 1);
    int cnt = 0, sum = 0;
    Rep(i, 1, n) {
        if (a[i] == a[i - 1]) {
            if (++cnt >= 2) return puts("cslnb") & 0;
        }
        sum ^= (a[i] & 1);
    }
    puts(sum & 1 ? "cslnb" : "sjfnb");
    return 0;
}


#include <bits/stdc++.h>

using namespace std;

#define il inline
#define re register
#define Rep(i, s, e) for (re int i = s; i <= e; ++i)
#define Dep(i, s, e) for (re int i = s; i >= e; --i)
#define file(a) freopen(#a".in", "r", stdin), freopen(#a".out", "w", stdout)

const int N = 100010;

il int read() {
    int x = 0; bool f = true; char c = getchar();
    while (!isdigit(c)) {if (c == '-') f = false; c = getchar();}
    while (isdigit(c)) x = (x << 1) + (x << 3) + (c ^ 48), c = getchar();
    return f ? x : -x;
}

int n, a[N];

int main() {
    n = read();
    Rep(i, 1, n) a[i] = read();
    std::sort(a + 1, a + n + 1);
    if (!a[min(n, 2)]) return puts("cslnb") & 0;
    int cnt = 0, sum = 0;
    Rep(i, 1, n) {
        if (a[i] == a[i - 1]) {
            if (++cnt >= 2 || (i >= 3 && a[i - 2] == a[i - 1] - 1)) return puts("cslnb") & 0;
        }
        sum ^= ((a[i] - i + 1) & 1);
    }
    puts(sum & 1 ? "sjfnb" : "cslnb");
    return 0;
}


#include <bits/stdc++.h>

using namespace std;

#define il inline
#define re register
#define Rep(i, s, e) for (re int i = s; i <= e; ++i)
#define Dep(i, s, e) for (re int i = s; i >= e; --i)
#define file(a) freopen(#a".in", "r", stdin), freopen(#a".out", "w", stdout)

const int N = 100010;

il int read() {
    int x = 0; bool f = true; char c = getchar();
    while (!isdigit(c)) {if (c == '-') f = false; c = getchar();}
    while (isdigit(c)) x = (x << 1) + (x << 3) + (c ^ 48), c = getchar();
    return f ? x : -x;
}

int n, a[N];

int main() {
    n = read();
    Rep(i, 1, n) a[i] = read();
    std::sort(a + 1, a + n + 1);
    if (!a[n]) return puts("cslnb") & 0;
    int cnt = 0, sum = 0;
    Rep(i, 1, n) {
        if (a[i] == a[i - 1]) {
            if (++cnt >= 2 || (i >= 3 && a[i - 2] == a[i - 1] - 1)) return puts("cslnb") & 0;
        }
        sum ^= ((a[i] - i + 1) & 1);
    }
    puts(sum & 1 ? "sjfnb" : "cslnb");
    return 0;
}


#include <bits/stdc++.h>

using namespace std;

#define il inline
#define re register
#define Rep(i, s, e) for (re int i = s; i <= e; ++i)
#define Dep(i, s, e) for (re int i = s; i >= e; --i)
#define file(a) freopen(#a".in", "r", stdin), freopen(#a".out", "w", stdout)

typedef long long ll;

const int N = 100010;

il ll read() {
    ll x = 0; bool f = true; char c = getchar();
    while (!isdigit(c)) {if (c == '-') f = false; c = getchar();}
    while (isdigit(c)) x = (x << 1) + (x << 3) + (c ^ 48), c = getchar();
    return f ? x : -x;
}

ll n, a[N], sum;

int main() {
    n = read();
    Rep(i, 1, n) a[i] = read(), sum += a[i] - i + 1;
    std::sort(a + 1, a + n + 1);
    if (!a[min(n, 2ll)]) return puts("cslnb") & 0;
    int cnt = 0;
    Rep(i, 2, n) {
        if (a[i] == a[i - 1]) {
            if (++cnt >= 2 || ((i >= 3) && (a[i - 2] == a[i - 1] - 1))) return puts("cslnb") & 0;
        }
    }
    puts(sum & 1 ? "sjfnb" : "cslnb");
    return 0;
}


#include<bits/stdc++.h>
#define rep(i,a,b) for (register int i=a;i<=b;++i)
#define req(i,a,b) for (register int i=a;i>=b;--i)
using namespace std;
int m,n,a[100010];
int main()
{
    cin>>n;
    rep(i,1,n) cin>>a[i],m+=a[i];
    if (m<<1==n*(n-1)||m==0) puts("cslnb");
    else puts("sjfnb");
    return 0;
}


#include<bits/stdc++.h>
#define rep(i,a,b) for (register int i=a;i<=b;++i)
#define req(i,a,b) for (register int i=a;i>=b;--i)
using namespace std;
int m,n,a[100010],p;
int main()
{
    cin>>n;
    rep(i,1,n) cin>>a[i],m+=a[i];
    rep(i,1,n-1) if (a[i]!=a[i+1]) p=1;
    if (m<<1==n*(n-1)||m==0||p==0) puts("cslnb");
    else puts("sjfnb");
    return 0;
}


#include<bits/stdc++.h>
#define rep(i,a,b) for (register int i=a;i<=b;++i)
#define req(i,a,b) for (register int i=a;i>=b;--i)
using namespace std;
long long m,n,a[100010],p;
int main()
{
    cin>>n;
    rep(i,1,n) cin>>a[i],m+=a[i];
    sort(a+1,a+n+1);
    rep(i,1,n-1) if (a[i]==a[i+1]) p++;
    if (p>1) return puts("cslnb"),0;
    if (p==1) rep(i,1,n-1) if(a[i]==a[i+1])
    {
    	if (i!=1&&a[i-1]==a[i]-1) return puts("cslnb"),0;
    	if (a[i+1]==0) return puts("cslnb"),0;
    }
    m-=n*(n-1)>>1;
    if (m<=0) puts("cslnb");
    else if (m&1) puts("sjfnb");
    else puts("cslnb");
    return 0;
}


#include<bits/stdc++.h>
#define rep(i,a,b) for (register int i=a;i<=b;++i)
#define req(i,a,b) for (register int i=a;i>=b;--i)
using namespace std;
int m,n,a[100010];
int main()
{
    cin>>n;
    rep(i,1,n) cin>>a[i],m+=a[i];
    if (m<<1==n*(n-1)||m==0) puts("clsnb");
    else puts("sjfnb");
    return 0;
}


#include<bits/stdc++.h>
#define rep(i,a,b) for (register int i=a;i<=b;++i)
#define req(i,a,b) for (register int i=a;i>=b;--i)
using namespace std;
int m,n,a[100010],p;
int main()
{
    cin>>n;
    rep(i,1,n) cin>>a[i],m+=a[i];
    sort(a+1,a+n+1);
    rep(i,1,n-1) if (a[i]==a[i+1]) p++;
    if (p>1) return puts("cslnb"),0;
    if (p==1) rep(i,1,n-1) if(a[i]==a[i+1])
    {
    	if (i!=1&&a[i-1]==a[i]-1) return puts("cslnb"),0;
    	if (a[i+1]==0) return puts("cslnb"),0;
    }
    m-=n*(n-1)>>1;
    if (m<=0) puts("cslnb");
    else if (m&1) puts("sjfnb");
    else puts("cslnb");
    return 0;
}


#include<bits/stdc++.h>
#define rep(i,a,b) for (register int i=a;i<=b;++i)
#define req(i,a,b) for (register int i=a;i>=b;--i)
using namespace std;
int m,n,a[100010],p;
int main()
{
    cin>>n;
    rep(i,1,n) cin>>a[i],m+=a[i];
    sort(a+1,a+n+1);
    rep(i,1,n-1) if (a[i]!=a[i+1]) p++;
    if (p>1) return puts("cslnb"),0;
    if (p==1) rep(i,1,n-1) if(a[i]==a[i+1])
    {
    	if (i!=2&&a[i-1]==a[i]-1) return puts("cslnb"),0;
    	if (a[i]==0) return puts("cslnb"),0;
    }
    m-=n*(n-1)>>1;
    if (m<=0) puts("cslnb");
    else if (m&1) puts("sjfnb");
    else puts("cslnb");
    return 0;
}


#include<bits/stdc++.h>
#define rep(i,a,b) for (register int i=a;i<=b;++i)
#define req(i,a,b) for (register int i=a;i>=b;--i)
using namespace std;
int m,n,a[100010],p;
int main()
{
    cin>>n;
    rep(i,1,n) cin>>a[i],m+=a[i];
    sort(a+1,a+n+1);
    rep(i,1,n-1) if (a[i]!=a[i+1]) p++;
    if (m<<1==n*(n-1)||m==0||p>1) puts("cslnb");
    else puts("sjfnb");
    return 0;
}


#include<bits/stdc++.h>
#define rep(i,a,b) for (register int i=a;i<=b;++i)
#define req(i,a,b) for (register int i=a;i>=b;--i)
using namespace std;
int m,n,a[100010],p;
int main()
{
    cin>>n;
    rep(i,1,n) cin>>a[i],m+=a[i];
    rep(i,1,n-1) if (a[i]!=a[i+1]) p=1;
    if (m<<1==n*(n-1)||m==0||(p==0&&n%2)) puts("cslnb");
    else puts("sjfnb");
    return 0;
}


#include<bits/stdc++.h>
#define rep(i,a,b) for (register int i=a;i<=b;++i)
#define req(i,a,b) for (register int i=a;i>=b;--i)
using namespace std;
int m,n,a[100010],p;
int main()
{
    cin>>n;
    rep(i,1,n) cin>>a[i],m+=a[i];
    sort(a+1,a+n+1);
    rep(i,1,n-1) if (a[i]!=a[i+1]) p++;
    if (p>1) return puts("cslnb"),0;
    if (p==1) rep(i,1,n-1) if(a[i]==a[i+1])
    {
    	if (i!=1&&a[i-1]==a[i]-1) return puts("cslnb"),0;
    	if (a[i+1]==0) return puts("cslnb"),0;
    }
    m-=n*(n-1)>>1;
    if (m<=0) puts("cslnb");
    else if (m&1) puts("sjfnb");
    else puts("cslnb");
    return 0;
}


#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll n,a[100010],sum=0,cnt=0;
map<int,int>num;
int main(){
    scanf("%d",&n);
    for(int i=1;i<=n;i++){
        scanf("%d",&a[i]);
        sum+=a[i];
        num[a[i]]++;
    }
    map<int,int>::iterator it=num.begin();
    for(;it!=num.end();it++){
        int nn=it->second;
        if(nn==2){
            cnt++;
            if(num[(it->first)-1]>0){
                printf("cslnb\n");
                return 0;
            }
        }
        if(nn==3||cnt>=2||num[0]>=2){
            printf("cslnb\n");
            return 0;
        }
    }
    ll t=sum-n*(n-1)/2;
    if(t%2)printf("sjfnb\n");
    else printf("cslnb\n");
}


#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll n,a[100010],sum=0,cnt=0;
map<int,int>num;
int main(){
    scanf("%d",&n);
    for(int i=1;i<=n;i++){
        scanf("%d",&a[i]);
        sum+=a[i];
        num[a[i]]++;
    }
    map<int,int>::iterator it=num.begin();
    for(;it!=num.end();++it){
        int nn=it->second;
        if(nn==2){
            cnt++;
            if(num[it->first-1]){
                printf("cslnb\n");
                return 0;
            }
        }
        if(nn==3||cnt>=2||num[0]>=2){
            printf("cslnb\n");
            return 0;
        }
    }
    ll t=sum-n*(n-1)/2;
    if(t>0&&t%2)printf("sjfnb\n");
    else printf("cslnb\n");
}


#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll n,a[100010],sum=0,cnt=0;
map<int,int>num;
int main(){
    scanf("%d",&n);
    for(int i=1;i<=n;i++){
        scanf("%d",&a[i]);
        sum+=a[i];
        num[a[i]]++;
    }
    map<int,int>::iterator it=num.begin();
    for(;it!=num.end();++it){
        int nn=it->second;
        if(nn==2)cnt++;
        if(nn==3||cnt>=2){
            printf("cslnb\n");
            return 0;
        }
    }
    ll t=sum-n*(n-1)/2;
    if(t>0&&t%2)printf("sjfnb\n");
    else printf("cslnb\n");
}


#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll n,a[100010],sum=0,cnt=0;
map<int,int>num;
int main(){
    scanf("%d",&n);
    for(int i=1;i<=n;i++){
        scanf("%d",&a[i]);
        sum+=a[i];
        num[a[i]]++;
    }
    map<int,int>::iterator it=num.begin();
    for(;it!=num.end();++it){
        int nn=it->second;
        if(nn==2){
            cnt++;
            if(num[it->first-1]){
                printf("cslnb\n");
                return 0;
            }
        }
        if(nn==3||cnt>=2||num[0]>=2){
            printf("cslnb\n");
            return 0;
        }
    }
    ll t=sum-n*(n-1)/2;
    if(t%2)printf("sjfnb\n");
    else printf("cslnb\n");
}


#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll n,a[100010],sum=0,cnt=0;
map<int,int>num;
int main(){
    scanf("%d",&n);
    for(int i=1;i<=n;i++){
        scanf("%d",&a[i]);
        sum+=a[i];
        num[a[i]]++;
    }
    map<int,int>::iterator it=num.begin();
    for(;it!=num.end();it++){
        int nn=it->second;
        if(nn==2){
            cnt++;
            if(num[(it->first)-1]>0){
                printf("cslnb\n");
                return 0;
            }
        }
        if(nn>=3||cnt>=2||num[0]>=2){
            printf("cslnb\n");
            return 0;
        }
    }
    ll t=sum-n*(n-1)/2;
    if(t%2!=0)printf("sjfnb\n");
    else printf("cslnb\n");
}


#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll n,a[100010],sum=0,cnt=0;
map<int,int>num;
int main(){
    scanf("%d",&n);
    for(int i=1;i<=n;i++){
        scanf("%d",&a[i]);
        sum+=a[i];
        num[a[i]]++;
    }
    map<int,int>::iterator it=num.begin();
    for(;it!=num.end();++it){
        int nn=it->second;
        if(nn==2)cnt++;
        if(nn==3||cnt>=2||num[0]>=2){
            printf("cslnb\n");
            return 0;
        }
    }
    ll t=sum-n*(n-1)/2;
    if(t>0&&t%2)printf("sjfnb\n");
    else printf("cslnb\n");
}


#include <iostream>
#include <string>
#include <cstring>
#include <fstream>
#include <functional>
#include <algorithm>
#include <ctime>
#include <cmath>
#include <vector>
#include <queue>
#include <map>
#include <sstream>
#include <unordered_set>
#include <unordered_map>
#include <sstream>
#include <set>
#include <cassert>
using namespace std;

#ifndef ONLINE_JUDGE
ifstream in("/Users/jiazhi.zhou/CLionProjects/acm/InOutput/input.txt");
#define Debug(v) cerr<<#v<<"="<<v<<'\n'
#endif

#ifdef ONLINE_JUDGE
istream& in = cin;
#define Debug(v) ;
#endif

typedef long long LL;
#define pii pair<int,int>
#define pll pair<LL,LL>
#define mp make_pair
#define pb push_back
#define lson (root<<1)
#define rson (root<<1|1)
#define FFLUAHALL fflush(stdin);fflush(stdout);

int n;
int a[100010];

void input(){
    in>>n;
    for(int i=1;i<=n;++i){
        in>>a[i];
    }

}

void _init(){

}

bool ok(){
    int all = 0;
    for(int i=1;i<=n;++i){
        all += (a[i] - (i-1));
        all &= 1;
    }
    return all == 0;
}

int main(){

	int TEST_CASE = 1;
	//in >> TEST_CASE;
	while (TEST_CASE-- > 0){
		 _init();
		input();

        unordered_set<LL> S;
        LL conflict = 0;
        LL val = -1;
        int odd = 0;
        for(int i=1;i<=n;++i){
            if(S.count(a[i])){
                conflict++;
                val = a[i];
            }
            if(a[i] & 1)
                odd++;
            S.insert(a[i]);
        }
        if(n % 2 == 0){
            odd++;
        }
        odd &= 1;
        if(conflict == 0){
            if(odd == 0){
                cout<<"cslnb"<<endl;
            }
            else{
                cout<<"sjfnb"<<endl;
            }
        }
        else if(conflict == 1){
            if(S.count(val - 1) || val == 0){
                cout<<"cslnb"<<endl;
            }
            else{
                if(odd == 0){
                    cout<<"cslnb"<<endl;
                }
                else{
                    cout<<"sjfnb"<<endl;
                }
            }
        }
        else{
            cout<<"cslnb"<<endl;
        }

	}

	return 0;
}


#include <iostream>
#include <string>
#include <cstring>
#include <fstream>
#include <functional>
#include <algorithm>
#include <ctime>
#include <cmath>
#include <vector>
#include <queue>
#include <map>
#include <sstream>
#include <unordered_set>
#include <unordered_map>
#include <sstream>
#include <set>
#include <cassert>
using namespace std;

#ifndef ONLINE_JUDGE
ifstream in("/Users/jiazhi.zhou/CLionProjects/acm/InOutput/input.txt");
#define Debug(v) cerr<<#v<<"="<<v<<'\n'
#endif

#ifdef ONLINE_JUDGE
istream& in = cin;
#define Debug(v) ;
#endif

typedef long long LL;
#define pii pair<int,int>
#define pll pair<LL,LL>
#define mp make_pair
#define pb push_back
#define lson (root<<1)
#define rson (root<<1|1)
#define FFLUAHALL fflush(stdin);fflush(stdout);

int n;
int a[100010];

void input(){
    in>>n;
    for(int i=1;i<=n;++i){
        in>>a[i];
    }

}

void _init(){

}

int main(){

	int TEST_CASE = 1;
	//in >> TEST_CASE;
	while (TEST_CASE-- > 0){
		 _init();
		input();

        LL val = -1;
        int odd = 0;
        bool ok = false;
        sort(a+1,a+n+1);
        int num = 0;
        for(int i=1;i<=n;++i){
            if(i > 1 && a[i] == a[i-1]){
                num++;
                if(a[i] == 0){
                    ok = true;
                }
                else if(i >= 3 && a[i-2] >= a[i] - 1){
                    ok = true;
                }

            }
            if(a[i] & 1)
                odd++;
        }
        odd += n / 2;
        odd &= 1;
        if(!ok && num < 2){
            if(odd == 0){
                cout<<"cslnb"<<endl;
            }
            else{
                cout<<"sjfnb"<<endl;
            }
        }
        else{
            cout<<"cslnb"<<endl;
        }

	}

	return 0;
}


#include <iostream>
#include <string>
#include <cstring>
#include <fstream>
#include <functional>
#include <algorithm>
#include <ctime>
#include <cmath>
#include <vector>
#include <queue>
#include <map>
#include <sstream>
#include <unordered_set>
#include <unordered_map>
#include <sstream>
#include <set>
#include <cassert>
using namespace std;

#ifndef ONLINE_JUDGE
ifstream in("/Users/jiazhi.zhou/CLionProjects/acm/InOutput/input.txt");
#define Debug(v) cerr<<#v<<"="<<v<<'\n'
#endif

#ifdef ONLINE_JUDGE
istream& in = cin;
#define Debug(v) ;
#endif

typedef long long LL;
#define pii pair<int,int>
#define pll pair<LL,LL>
#define mp make_pair
#define pb push_back
#define lson (root<<1)
#define rson (root<<1|1)
#define FFLUAHALL fflush(stdin);fflush(stdout);

int n;
LL a[100010];

void input(){
    in>>n;
    for(int i=1;i<=n;++i){
        in>>a[i];
    }

}

void _init(){

}

bool ok(){
    LL all = 0;
    for(int i=1;i<=n;++i){
        all += (a[i] - (i-1));
    }
    return all % 2 == 0;
}

int main(){

	int TEST_CASE = 1;
	//in >> TEST_CASE;
	while (TEST_CASE-- > 0){
		 _init();
		input();

        unordered_set<LL> S;
        LL conflict = 0;
        LL val = -1;
        for(int i=1;i<=n;++i){
            if(S.count(a[i])){
                conflict++;
                val = a[i];
            }
            S.insert(a[i]);
        }

        if(conflict == 0){
            if(ok()){
                cout<<"cslnb"<<endl;
            }
            else{
                cout<<"sjfnb"<<endl;
            }
        }
        else if(conflict == 1){
            if(S.count(val - 1)){
                cout<<"cslnb"<<endl;
            }
            else{
                if(ok()){
                    cout<<"cslnb"<<endl;
                }
                else{
                    cout<<"sjfnb"<<endl;
                }
            }
        }
        else{
            cout<<"cslnb"<<endl;
        }

	}

	return 0;
}


#include <iostream>
#include <string>
#include <cstring>
#include <fstream>
#include <functional>
#include <algorithm>
#include <ctime>
#include <cmath>
#include <vector>
#include <queue>
#include <map>
#include <sstream>
#include <unordered_set>
#include <unordered_map>
#include <sstream>
#include <set>
#include <cassert>
using namespace std;

#ifndef ONLINE_JUDGE
ifstream in("/Users/jiazhi.zhou/CLionProjects/acm/InOutput/input.txt");
#define Debug(v) cerr<<#v<<"="<<v<<'\n'
#endif

#ifdef ONLINE_JUDGE
istream& in = cin;
#define Debug(v) ;
#endif

typedef long long LL;
#define pii pair<int,int>
#define pll pair<LL,LL>
#define mp make_pair
#define pb push_back
#define lson (root<<1)
#define rson (root<<1|1)
#define FFLUAHALL fflush(stdin);fflush(stdout);

int n;
LL a[100010];

void input(){
    in>>n;
    for(int i=1;i<=n;++i){
        in>>a[i];
    }

}

void _init(){

}

bool ok(){
    LL all = 0;
    for(int i=1;i<=n;++i){
        all += (a[i] - (i-1));
    }
    return all % 2 == 0;
}

int main(){

	int TEST_CASE = 1;
	//in >> TEST_CASE;
	while (TEST_CASE-- > 0){
		 _init();
		input();

        unordered_set<LL> S;
        int conflict = 0;
        LL val = -1;
        for(int i=1;i<=n;++i){
            if(S.count(a[i])){
                conflict++;
                val = conflict;
            }
            S.insert(a[i]);
        }

        if(conflict == 0){
            if(ok()){
                cout<<"cslnb"<<endl;
            }
            else{
                cout<<"sjfnb"<<endl;
            }
        }
        else if(conflict == 1){
            if(S.count(val - 1)){
                cout<<"cslnb"<<endl;
            }
            else{
                if(ok()){
                    cout<<"cslnb"<<endl;
                }
                else{
                    cout<<"sjfnb"<<endl;
                }
            }
        }
        else{
            cout<<"cslnb"<<endl;
        }

	}

	return 0;
}


#include <iostream>
#include <string>
#include <cstring>
#include <fstream>
#include <functional>
#include <algorithm>
#include <ctime>
#include <cmath>
#include <vector>
#include <queue>
#include <map>
#include <sstream>
#include <unordered_set>
#include <unordered_map>
#include <sstream>
#include <set>
#include <cassert>
using namespace std;

#ifndef ONLINE_JUDGE
ifstream in("/Users/jiazhi.zhou/CLionProjects/acm/InOutput/input.txt");
#define Debug(v) cerr<<#v<<"="<<v<<'\n'
#endif

#ifdef ONLINE_JUDGE
istream& in = cin;
#define Debug(v) ;
#endif

typedef long long LL;
#define pii pair<int,int>
#define pll pair<LL,LL>
#define mp make_pair
#define pb push_back
#define lson (root<<1)
#define rson (root<<1|1)
#define FFLUAHALL fflush(stdin);fflush(stdout);

int n;
int a[100010];

void input(){
    in>>n;
    for(int i=1;i<=n;++i){
        in>>a[i];
    }

}

void _init(){

}

bool ok(){
    int all = 0;
    for(int i=1;i<=n;++i){
        all += (a[i] - (i-1));
        all &= 1;
    }
    return all == 0;
}

int main(){

	int TEST_CASE = 1;
	//in >> TEST_CASE;
	while (TEST_CASE-- > 0){
		 _init();
		input();

        unordered_set<LL> S;
        LL conflict = 0;
        LL val = -1;
        int odd = 0;
        for(int i=1;i<=n;++i){
            if(S.count(a[i])){
                conflict++;
                val = a[i];
            }
            if(a[i] & 1)
                odd++;
            S.insert(a[i]);
        }
        odd += n / 2;
        odd &= 1;
        if(conflict == 0){
            if(odd == 0){
                cout<<"cslnb"<<endl;
            }
            else{
                cout<<"sjfnb"<<endl;
            }
        }
        else if(conflict == 1){
            if(S.count(val - 1) || val == 0){
                cout<<"cslnb"<<endl;
            }
            else{
                if(odd == 0){
                    cout<<"cslnb"<<endl;
                }
                else{
                    cout<<"sjfnb"<<endl;
                }
            }
        }
        else{
            cout<<"cslnb"<<endl;
        }

	}

	return 0;
}


#include <iostream>
#include <string>
#include <cstring>
#include <fstream>
#include <functional>
#include <algorithm>
#include <ctime>
#include <cmath>
#include <vector>
#include <queue>
#include <map>
#include <sstream>
#include <unordered_set>
#include <unordered_map>
#include <sstream>
#include <set>
#include <cassert>
using namespace std;

#ifndef ONLINE_JUDGE
ifstream in("/Users/jiazhi.zhou/CLionProjects/acm/InOutput/input.txt");
#define Debug(v) cerr<<#v<<"="<<v<<'\n'
#endif

#ifdef ONLINE_JUDGE
istream& in = cin;
#define Debug(v) ;
#endif

typedef long long LL;
#define pii pair<int,int>
#define pll pair<LL,LL>
#define mp make_pair
#define pb push_back
#define lson (root<<1)
#define rson (root<<1|1)
#define FFLUAHALL fflush(stdin);fflush(stdout);

int n;
int a[100010];

void input(){
    in>>n;
    for(int i=1;i<=n;++i){
        scanf("%d",&a[i]);
    }

}

void _init(){

}

bool ok(){
    int all = 0;
    for(int i=1;i<=n;++i){
        all += (a[i] - (i-1));
        all &= 1;
    }
    return all == 0;
}

int main(){

	int TEST_CASE = 1;
	//in >> TEST_CASE;
	while (TEST_CASE-- > 0){
		 _init();
		input();

        unordered_set<LL> S;
        LL conflict = 0;
        LL val = -1;
        int odd = 0;
        for(int i=1;i<=n;++i){
            if(S.count(a[i])){
                conflict++;
                val = a[i];
            }
            if(a[i] & 1){}
                odd++;
            S.insert(a[i]);
        }
        if(n % 2 == 0){
            odd++;
        }
        odd &= 1;
        if(conflict == 0){
            if(odd == 0){
                cout<<"cslnb"<<endl;
            }
            else{
                cout<<"sjfnb"<<endl;
            }
        }
        else if(conflict == 1){
            if(S.count(val - 1) || val == 0){
                cout<<"cslnb"<<endl;
            }
            else{
                if(odd == 0){
                    cout<<"cslnb"<<endl;
                }
                else{
                    cout<<"sjfnb"<<endl;
                }
            }
        }
        else{
            cout<<"cslnb"<<endl;
        }

	}

	return 0;
}


#include <iostream>
#include <string>
#include <cstring>
#include <fstream>
#include <functional>
#include <algorithm>
#include <ctime>
#include <cmath>
#include <vector>
#include <queue>
#include <map>
#include <sstream>
#include <unordered_set>
#include <unordered_map>
#include <sstream>
#include <set>
#include <cassert>
using namespace std;

#ifndef ONLINE_JUDGE
ifstream in("/Users/jiazhi.zhou/CLionProjects/acm/InOutput/input.txt");
#define Debug(v) cerr<<#v<<"="<<v<<'\n'
#endif

#ifdef ONLINE_JUDGE
istream& in = cin;
#define Debug(v) ;
#endif

typedef long long LL;
#define pii pair<int,int>
#define pll pair<LL,LL>
#define mp make_pair
#define pb push_back
#define lson (root<<1)
#define rson (root<<1|1)
#define FFLUAHALL fflush(stdin);fflush(stdout);

int n;
int a[100010];

void input(){
    in>>n;
    for(int i=1;i<=n;++i){
        in>>a[i];
    }

}

void _init(){

}

int main(){

	int TEST_CASE = 1;
	//in >> TEST_CASE;
	while (TEST_CASE-- > 0){
		 _init();
		input();

        LL conflict = 0;
        LL val = -1;
        int odd = 0;
        bool ok = false;
        sort(a+1,a+n+1);
        for(int i=1;i<=n;++i){
            if(i > 1 && a[i] == a[i-1]){
                conflict++;
                if(val == -1)
                    val = a[i];
                else{
                    ok = true;
                }

            }
            if(a[i] & 1)
                odd++;
        }
        odd += n / 2;
        odd &= 1;
        if(!ok){
            if(odd == 0){
                cout<<"cslnb"<<endl;
            }
            else{
                cout<<"sjfnb"<<endl;
            }
        }
        else{
            cout<<"cslnb"<<endl;
        }

	}

	return 0;
}


#include <iostream>
#include <string>
#include <cstring>
#include <fstream>
#include <functional>
#include <algorithm>
#include <ctime>
#include <cmath>
#include <vector>
#include <queue>
#include <map>
#include <sstream>
#include <unordered_set>
#include <unordered_map>
#include <sstream>
#include <set>
#include <cassert>
using namespace std;

#ifndef ONLINE_JUDGE
ifstream in("/Users/jiazhi.zhou/CLionProjects/acm/InOutput/input.txt");
#define Debug(v) cerr<<#v<<"="<<v<<'\n'
#endif

#ifdef ONLINE_JUDGE
istream& in = cin;
#define Debug(v) ;
#endif

typedef long long LL;
#define pii pair<int,int>
#define pll pair<LL,LL>
#define mp make_pair
#define pb push_back
#define lson (root<<1)
#define rson (root<<1|1)
#define FFLUAHALL fflush(stdin);fflush(stdout);

int n;
int a[100010];

void input(){
    in>>n;
    for(int i=1;i<=n;++i){
        in>>a[i];
    }

}

void _init(){

}

int main(){

	int TEST_CASE = 1;
	//in >> TEST_CASE;
	while (TEST_CASE-- > 0){
		 _init();
		input();

        LL val = -1;
        int odd = 0;
        bool ok = false;
        sort(a+1,a+n+1);
        for(int i=1;i<=n;++i){
            if(i > 1 && a[i] == a[i-1]){
                if(a[i] == 0){
                    ok = true;
                }
                else if(i >= 3 && a[i-2] >= a[i] - 1){
                    ok = true;
                }

            }
            if(a[i] & 1)
                odd++;
        }
        odd += n / 2;
        odd &= 1;
        if(!ok){
            if(odd == 0){
                cout<<"cslnb"<<endl;
            }
            else{
                cout<<"sjfnb"<<endl;
            }
        }
        else{
            cout<<"cslnb"<<endl;
        }

	}

	return 0;
}


#include <iostream>
#include <string>
#include <cstring>
#include <fstream>
#include <functional>
#include <algorithm>
#include <ctime>
#include <cmath>
#include <vector>
#include <queue>
#include <map>
#include <sstream>
#include <unordered_set>
#include <unordered_map>
#include <sstream>
#include <set>
#include <cassert>
using namespace std;

#ifndef ONLINE_JUDGE
ifstream in("/Users/jiazhi.zhou/CLionProjects/acm/InOutput/input.txt");
#define Debug(v) cerr<<#v<<"="<<v<<'\n'
#endif

#ifdef ONLINE_JUDGE
istream& in = cin;
#define Debug(v) ;
#endif

typedef long long LL;
#define pii pair<int,int>
#define pll pair<LL,LL>
#define mp make_pair
#define pb push_back
#define lson (root<<1)
#define rson (root<<1|1)
#define FFLUAHALL fflush(stdin);fflush(stdout);

int n;
int a[100010];

void input(){
    in>>n;
    for(int i=1;i<=n;++i){
        scanf("%d",&a[i]);
    }

}

void _init(){

}

bool ok(){
    int all = 0;
    for(int i=1;i<=n;++i){
        all += (a[i] - (i-1));
        all &= 1;
    }
    return all == 0;
}

int main(){

	int TEST_CASE = 1;
	//in >> TEST_CASE;
	while (TEST_CASE-- > 0){
		 _init();
		input();

        unordered_set<LL> S;
        LL conflict = 0;
        LL val = -1;
        for(int i=1;i<=n;++i){
            if(S.count(a[i])){
                conflict++;
                val = a[i];
            }
            S.insert(a[i]);
        }

        if(conflict == 0){
            if(ok()){
                cout<<"cslnb"<<endl;
            }
            else{
                cout<<"sjfnb"<<endl;
            }
        }
        else if(conflict == 1){
            if(S.count(val - 1) || val == 0){
                cout<<"cslnb"<<endl;
            }
            else{
                if(ok()){
                    cout<<"cslnb"<<endl;
                }
                else{
                    cout<<"sjfnb"<<endl;
                }
            }
        }
        else{
            cout<<"cslnb"<<endl;
        }

	}

	return 0;
}


#include <iostream>
#include <string>
#include <cstring>
#include <fstream>
#include <functional>
#include <algorithm>
#include <ctime>
#include <cmath>
#include <vector>
#include <queue>
#include <map>
#include <sstream>
#include <unordered_set>
#include <unordered_map>
#include <sstream>
#include <set>
#include <cassert>
using namespace std;

#ifndef ONLINE_JUDGE
ifstream in("/Users/jiazhi.zhou/CLionProjects/acm/InOutput/input.txt");
#define Debug(v) cerr<<#v<<"="<<v<<'\n'
#endif

#ifdef ONLINE_JUDGE
istream& in = cin;
#define Debug(v) ;
#endif

typedef long long LL;
#define pii pair<int,int>
#define pll pair<LL,LL>
#define mp make_pair
#define pb push_back
#define lson (root<<1)
#define rson (root<<1|1)
#define FFLUAHALL fflush(stdin);fflush(stdout);

int n;
LL a[100010];

void input(){
    in>>n;
    for(int i=1;i<=n;++i){
        scanf("%d",&a[i]);
    }

}

void _init(){

}

bool ok(){
    LL all = 0;
    for(int i=1;i<=n;++i){
        all += (a[i] - (i-1));
    }
    return all % 2 == 0;
}

int main(){

	int TEST_CASE = 1;
	//in >> TEST_CASE;
	while (TEST_CASE-- > 0){
		 _init();
		input();

        unordered_set<LL> S;
        LL conflict = 0;
        LL val = -1;
        for(int i=1;i<=n;++i){
            if(S.count(a[i])){
                conflict++;
                val = a[i];
            }
            S.insert(a[i]);
        }

        if(conflict == 0){
            if(ok()){
                cout<<"cslnb"<<endl;
            }
            else{
                cout<<"sjfnb"<<endl;
            }
        }
        else if(conflict == 1){
            if(S.count(val - 1) || val == 0){
                cout<<"cslnb"<<endl;
            }
            else{
                if(ok()){
                    cout<<"cslnb"<<endl;
                }
                else{
                    cout<<"sjfnb"<<endl;
                }
            }
        }
        else{
            cout<<"cslnb"<<endl;
        }

	}

	return 0;
}


#include <iostream>
#include <string>
#include <cstring>
#include <fstream>
#include <functional>
#include <algorithm>
#include <ctime>
#include <cmath>
#include <vector>
#include <queue>
#include <map>
#include <sstream>
#include <unordered_set>
#include <unordered_map>
#include <sstream>
#include <set>
#include <cassert>
using namespace std;

#ifndef ONLINE_JUDGE
ifstream in("/Users/jiazhi.zhou/CLionProjects/acm/InOutput/input.txt");
#define Debug(v) cerr<<#v<<"="<<v<<'\n'
#endif

#ifdef ONLINE_JUDGE
istream& in = cin;
#define Debug(v) ;
#endif

typedef long long LL;
#define pii pair<int,int>
#define pll pair<LL,LL>
#define mp make_pair
#define pb push_back
#define lson (root<<1)
#define rson (root<<1|1)
#define FFLUAHALL fflush(stdin);fflush(stdout);

int n;
int a[100010];
unordered_set<int> S;

void input(){
    in>>n;
    for(int i=1;i<=n;++i){
        in>>a[i];
    }

}

void _init(){

}

int main(){

	int TEST_CASE = 1;
	//in >> TEST_CASE;
	while (TEST_CASE-- > 0){
		 _init();
		input();

        LL conflict = 0;
        LL val = -1;
        int odd = 0;
        for(int i=1;i<=n;++i){
            if(S.count(a[i])){
                conflict++;
                val = a[i];
            }
            if(a[i] & 1)
                odd++;
            S.insert(a[i]);
        }
        odd += n / 2;
        odd &= 1;
        if(conflict == 0){
            if(odd == 0){
                cout<<"cslnb"<<endl;
            }
            else{
                cout<<"sjfnb"<<endl;
            }
        }
        else if(conflict == 1){
            if(S.count(val - 1) || val == 0){
                cout<<"cslnb"<<endl;
            }
            else{
                if(odd == 0){
                    cout<<"cslnb"<<endl;
                }
                else{
                    cout<<"sjfnb"<<endl;
                }
            }
        }
        else{
            cout<<"cslnb"<<endl;
        }

	}

	return 0;
}


#include <iostream>
#include <string>
#include <cstring>
#include <fstream>
#include <functional>
#include <algorithm>
#include <ctime>
#include <cmath>
#include <vector>
#include <queue>
#include <map>
#include <sstream>
#include <unordered_set>
#include <unordered_map>
#include <sstream>
#include <set>
#include <cassert>
using namespace std;

#ifndef ONLINE_JUDGE
ifstream in("/Users/jiazhi.zhou/CLionProjects/acm/InOutput/input.txt");
#define Debug(v) cerr<<#v<<"="<<v<<'\n'
#endif

#ifdef ONLINE_JUDGE
istream& in = cin;
#define Debug(v) ;
#endif

typedef long long LL;
#define pii pair<int,int>
#define pll pair<LL,LL>
#define mp make_pair
#define pb push_back
#define lson (root<<1)
#define rson (root<<1|1)
#define FFLUAHALL fflush(stdin);fflush(stdout);

int n;
LL a[100010];

void input(){
    in>>n;
    for(int i=1;i<=n;++i){
        in>>a[i];
    }

}

void _init(){

}

bool ok(){
    LL all = 0;
    for(int i=1;i<=n;++i){
        all += (a[i] - (i-1));
    }
    return all % 2 == 0;
}

int main(){

	int TEST_CASE = 1;
	//in >> TEST_CASE;
	while (TEST_CASE-- > 0){
		 _init();
		input();

        unordered_set<LL> S;
        LL conflict = 0;
        LL val = -1;
        for(int i=1;i<=n;++i){
            if(S.count(a[i])){
                conflict++;
                val = a[i];
            }
            S.insert(a[i]);
        }

        if(conflict == 0){
            if(ok()){
                cout<<"cslnb"<<endl;
            }
            else{
                cout<<"sjfnb"<<endl;
            }
        }
        else if(conflict == 1){
            if(S.count(val - 1) || val == 0){
                cout<<"cslnb"<<endl;
            }
            else{
                if(ok()){
                    cout<<"cslnb"<<endl;
                }
                else{
                    cout<<"sjfnb"<<endl;
                }
            }
        }
        else{
            cout<<"cslnb"<<endl;
        }

	}

	return 0;
}


#include <iostream>
#include <string>
#include <cstring>
#include <fstream>
#include <functional>
#include <algorithm>
#include <ctime>
#include <cmath>
#include <vector>
#include <queue>
#include <map>
#include <sstream>
#include <unordered_set>
#include <unordered_map>
#include <sstream>
#include <set>
#include <cassert>
using namespace std;

#ifndef ONLINE_JUDGE
ifstream in("/Users/jiazhi.zhou/CLionProjects/acm/InOutput/input.txt");
#define Debug(v) cerr<<#v<<"="<<v<<'\n'
#endif

#ifdef ONLINE_JUDGE
istream& in = cin;
#define Debug(v) ;
#endif

typedef long long LL;
#define pii pair<int,int>
#define pll pair<LL,LL>
#define mp make_pair
#define pb push_back
#define lson (root<<1)
#define rson (root<<1|1)
#define FFLUAHALL fflush(stdin);fflush(stdout);

int n;
int a[100010];

void input(){
    in>>n;
    for(int i=1;i<=n;++i){
        in>>a[i];
    }

}

void _init(){

}

int main(){

	int TEST_CASE = 1;
	//in >> TEST_CASE;
	while (TEST_CASE-- > 0){
		 _init();
		input();

        LL conflict = 0;
        LL val = -1;
        int odd = 0;
        bool ok = false;
        sort(a+1,a+n+1);
        for(int i=1;i<=n;++i){
            if(i > 1 && a[i] == a[i-1]){
                conflict++;
                if(val == -1 && a[i] != 0)
                    val = a[i];
                else{
                    ok = true;
                }

            }
            if(a[i] & 1)
                odd++;
        }
        odd += n / 2;
        odd &= 1;
        if(!ok){
            if(odd == 0){
                cout<<"cslnb"<<endl;
            }
            else{
                cout<<"sjfnb"<<endl;
            }
        }
        else{
            cout<<"cslnb"<<endl;
        }

	}

	return 0;
}


#include<bits/stdc++.h>
#define F first
#define S second
#define pb push_back
#define mp make_pair
#define full(a) a.begin(),a.end()
#define rfull(a) a.rbegin(),a.rend()

using namespace std;
const double pi=acos(-1.0);
const double pii=2*pi;
const double eps=1e-6;
const long long MOD=1e9+7;

int game(int n,vector<long long>& a){
    for(int i=0;i<n;i++) if(i+1<n && a[i]==a[i+1]) return 0;
    long long ans=0;
    for(int i=0;i<n;i++){
        ans+=a[i]-i;
        a[i]=i;
    }
    ans%=2;
    return ans+1;
}

void solve(){
    int n;cin>>n;
    vector<long long> a(n,0);
    for(int i=0;i<n;i++) cin>>a[i];
    sort(full(a));
    bool flag=true;
    for(int i=1;i<n;i++){
        if(a[i]==a[i-1]) {a[i-1]--;flag=false;break;}
    }
    int ans=game(n,a);
    if(!flag) ans++;
    if(ans%2==0) cout<<"sjfnb\n";
    else cout<<"cslnb\n";
}

int main(){
    std::ios::sync_with_stdio(false);
    std::cin.tie(NULL);
    std::cout.tie(NULL);

    solve();
    return 0;
}


#include<bits/stdc++.h>
#define F first
#define S second
#define pb push_back
#define mp make_pair
#define full(a) a.begin(),a.end()
#define rfull(a) a.rbegin(),a.rend()

using namespace std;
const double pi=acos(-1.0);
const double pii=2*pi;
const double eps=1e-6;
const long long MOD=1e9+7;

int game(int n,vector<long long>& a){
    sort(full(a));
    for(int i=0;i<n;i++) if(i+1<n && a[i]==a[i+1]) return 0;
    long long ans=0;
    for(int i=0;i<n;i++){
        ans+=a[i]-i;
        a[i]=i;
    }
    ans%=2;
    return ans+1;
}

void solve(){
    int n;cin>>n;
    vector<long long> a(n,0);
    for(int i=0;i<n;i++) cin>>a[i];
    sort(full(a));
    bool flag=true;
    for(int i=1;i<n;i++){
        if(a[i]==a[i-1]) {a[i-1]--;flag=false;break;}
    }
    int ans=game(n,a);
    if(!flag) ans++;
    if(ans%2==0) cout<<"sjfnb\n";
    else cout<<"cslnb\n";
}

int main(){
    std::ios::sync_with_stdio(false);
    std::cin.tie(NULL);
    std::cout.tie(NULL);

    solve();
    return 0;
}


#include<bits/stdc++.h>
#define F first
#define S second
#define pb push_back
#define mp make_pair
#define full(a) a.begin(),a.end()
#define rfull(a) a.rbegin(),a.rend()

using namespace std;
const double pi=acos(-1.0);
const double pii=2*pi;
const double eps=1e-6;
const long long MOD=1e9+7;

int game(int n,vector<long long>& a){
    sort(full(a));
    for(int i=0;i<n;i++) if(i+1<n && a[i]==a[i+1]) return 0;
    long long ans=0;
    for(int i=0;i<n;i++){
        ans+=a[i]-i;
        a[i]=i;
    }
    ans%=2;
    return ans+1;
}

void solve(){
    int n;cin>>n;
    vector<long long> a(n,0);
    for(int i=0;i<n;i++) cin>>a[i];
    sort(full(a));
    bool flag=true;
    for(int i=1;i<n;i++){
        if(a[i]==a[i-1]){
            if(a[i-1]>0) a[i-1]--;
            flag=false;
        }
    }
    int ans=game(n,a);
    if(!flag) ans++;
    if(ans%2==0) cout<<"sjfnb\n";
    else cout<<"cslnb\n";
}

int main(){
    std::ios::sync_with_stdio(false);
    std::cin.tie(NULL);
    std::cout.tie(NULL);

    solve();
    return 0;
}


#include<bits/stdc++.h>
#define F first
#define S second
#define pb push_back
#define mp make_pair
#define full(a) a.begin(),a.end()
#define rfull(a) a.rbegin(),a.rend()

using namespace std;
const double pi=acos(-1.0);
const double pii=2*pi;
const double eps=1e-6;
const long long MOD=1e9+7;

int game(int n,vector<long long>& a){
    sort(full(a));
    for(int i=0;i<n;i++){
        if(i+1<n && a[i]==a[i+1]) return 0;
    }
    long long ans=0;
    for(int i=0;i<n;i++){
        ans+=a[i]-i;
        a[i]=i;
    }
    ans%=2;
    return ans+1;
}

void solve(){
    int n;cin>>n;
    vector<long long> a(n,0);
    for(int i=0;i<n;i++) cin>>a[i];
    sort(full(a));
    bool flag=true;
    for(int i=1;i<n;i++){
        if(a[i]==a[i-1]){
            if(a[i-1]>0) a[i-1]--;
            flag=false;
            break;
        }
    }
    int ans=game(n,a);
    if(!flag) ans++;
    if(ans%2==0) cout<<"sjfnb\n";
    else cout<<"cslnb\n";
}

int main(){
    std::ios::sync_with_stdio(false);
    std::cin.tie(NULL);
    std::cout.tie(NULL);

    solve();
    return 0;
}


#include<iostream>
#include<vector>
#include<queue>
#include<cstring>
#include<cmath>
#include<map>
#include<set>
#include<cstdio>
#include<algorithm>
#define debug(a) cout<<#a<<"="<<a<<endl;
using namespace std;
const int maxn=1e5+100;
typedef long long LL;
LL a[maxn];
map<LL,LL>map1;
int main(void)
{
  cin.tie(0);std::ios::sync_with_stdio(false);
  LL n;cin>>n;
  LL ans=0;
  for(LL i=1;i<=n;i++){
  	cin>>a[i];
  	map1[a[i]]++;
  	ans+=a[i];
  }
  LL res=0;
  for(map<LL,LL>::iterator it=map1.begin();it!=map1.end();it++)
  {
  	if(it->second>=3)
  	{
  		cout<<"cslnb"<<endl;
  		return 0;
	}
	if(it->second==2)
	{
		res++;
		if(map1[(it->first)-1]!=0)
		{
			cout<<"cslnb"<<endl;
			return 0;
		}
	}
  }
  if(res>=2||map1[0]>=2||map1[0]==n)
  {
  	cout<<"cslnb"<<endl;
  	return 0;
  }
  LL sum=(0+(n-1))*n/2;
  LL cnt=ans-sum;
  if(cnt%2==0)
  {
  	cout<<"cslnb"<<endl;
  }
  else cout<<"sjfnb"<<endl;
return 0;
}


#include<iostream>
#include<vector>
#include<queue>
#include<cstring>
#include<cmath>
#include<map>
#include<set>
#include<cstdio>
#include<algorithm>
#define debug(a) cout<<#a<<"="<<a<<endl;
using namespace std;
const int maxn=1e5+100;
typedef long long LL;
LL a[maxn];
map<LL,LL>map1;
int main(void)
{
  cin.tie(0);std::ios::sync_with_stdio(false);
  LL n;cin>>n;
  LL ans=0;
  for(LL i=1;i<=n;i++){
  	cin>>a[i];
  	map1[a[i]]++;
  	ans+=a[i];
  }
  LL res=0;
  for(map<LL,LL>::iterator it=map1.begin();it!=map1.end();it++)
  {
  	if(it->second>=3)
  	{
  		cout<<"cslnb"<<endl;
  		return 0;
	}
	if(it->second==2)
	{
		res++;
		if(map1[(it->first)-1]!=0)
		{
			cout<<"cslnb"<<endl;
			return 0;
		}
	}
  }
  if(res>=2)
  {
  	cout<<"cslnb"<<endl;
  	return 0;
  }
  if(map1[0]>=2||map1[0]==n)
  {
  	cout<<"cslnb"<<endl;
  	return 0;
  }
  LL sum=(0+(n-1))*n/2;
  LL cnt=ans-sum;
  if(cnt%2==0)
  {
  	cout<<"cslnb"<<endl;
  }
  else cout<<"sjfnb"<<endl;
return 0;
}


#include<iostream>
#include<vector>
#include<queue>
#include<cstring>
#include<cmath>
#include<map>
#include<set>
#include<cstdio>
#include<algorithm>
#define debug(a) cout<<#a<<"="<<a<<endl;
using namespace std;
const int maxn=1e5+100;
typedef long long LL;
LL a[maxn];
//map<LL,LL>map1;
int main(void)
{
  cin.tie(0);std::ios::sync_with_stdio(false);
  LL n;cin>>n;
  LL ans=0;
  for(LL i=1;i<=n;i++){
  	cin>>a[i];
//  	map1[a[i]]++;
  	ans+=a[i];
  }
//  for(map<LL,LL>::iterator it=map1.begin();it!=map1.end();it++)
//  {
//  	if(it->second>=2)
//  	{
//  		cout<<"cslnb"<<endl;
//  		return 0;
//	}
//  }
  LL sum=(0+(n-1))*n/2;
  LL cnt=ans-sum;
  if(cnt%2==0)
  {
  	cout<<"cslnb"<<endl;
  }
  else cout<<"sjfnb"<<endl;
return 0;
}


#include<iostream>
#include<vector>
#include<queue>
#include<cstring>
#include<cmath>
#include<map>
#include<set>
#include<cstdio>
#include<algorithm>
#define debug(a) cout<<#a<<"="<<a<<endl;
using namespace std;
const int maxn=1e5+100;
typedef long long LL;
LL a[maxn];
map<LL,LL>map1;
int main(void)
{
  cin.tie(0);std::ios::sync_with_stdio(false);
  LL n;cin>>n;
  LL ans=0;
  for(LL i=1;i<=n;i++){
  	cin>>a[i];
  	map1[a[i]]++;
  	ans+=a[i];
  }
  LL res=0;
  for(map<LL,LL>::iterator it=map1.begin();it!=map1.end();it++)
  {
  	if(it->second>=3)
  	{
  		cout<<"cslnb"<<endl;
  		return 0;
	}
	if(it->second==2)
	{
		res++;
	}
  }
  if(res>=2)
  {
  	cout<<"cslnb"<<endl;
  	return 0;
  }
  LL sum=(0+(n-1))*n/2;
  LL cnt=ans-sum;
  if(cnt%2==0)
  {
  	cout<<"cslnb"<<endl;
  }
  else cout<<"sjfnb"<<endl;
return 0;
}


#include<iostream>
#include<vector>
#include<queue>
#include<cstring>
#include<cmath>
#include<map>
#include<set>
#include<cstdio>
#include<algorithm>
#define debug(a) cout<<#a<<"="<<a<<endl;
using namespace std;
const int maxn=1e5+100;
typedef long long LL;
LL a[maxn];
map<LL,LL>map1;
int main(void)
{
  cin.tie(0);std::ios::sync_with_stdio(false);
  LL n;cin>>n;
  LL ans=0;
  for(LL i=1;i<=n;i++){
  	cin>>a[i];
  	map1[a[i]]++;
  	ans+=a[i];
  }
  LL res=0;
  for(map<LL,LL>::iterator it=map1.begin();it!=map1.end();it++)
  {
  	if(it->second>=3)
  	{
  		cout<<"cslnb"<<endl;
  		return 0;
	}
	if(it->second==2)
	{
		res++;
	}
  }
  if(res>=2)
  {
  	cout<<"cslnb"<<endl;
  	return 0;
  }
  if(map1[0]>=2)
  {
  	cout<<"cslnb"<<endl;
  	return 0;
  }
  if(map1[0]==n)
  {
  	cout<<"cslnb"<<endl;
  	return 0;
  }
  LL sum=(0+(n-1))*n/2;
  LL cnt=ans-sum;
  if(cnt%2==0)
  {
  	cout<<"cslnb"<<endl;
  }
  else cout<<"sjfnb"<<endl;
return 0;
}


#include<iostream>
#include<vector>
#include<queue>
#include<cstring>
#include<cmath>
#include<map>
#include<set>
#include<cstdio>
#include<algorithm>
#define debug(a) cout<<#a<<"="<<a<<endl;
using namespace std;
const int maxn=1e5+100;
typedef long long LL;
LL a[maxn];
map<LL,LL>map1;
int main(void)
{
  cin.tie(0);std::ios::sync_with_stdio(false);
  LL n;cin>>n;
  LL ans=0;
  for(LL i=1;i<=n;i++){
  	cin>>a[i];
  	map1[a[i]]++;
  	ans+=a[i];
  }
  for(map<LL,LL>::iterator it=map1.begin();it!=map1.end();it++)
  {
  	if(it->second>=3)
  	{
  		cout<<"cslnb"<<endl;
  		return 0;
	}
  }
  LL sum=(0+(n-1))*n/2;
  LL cnt=ans-sum;
  if(cnt%2==0)
  {
  	cout<<"cslnb"<<endl;
  }
  else cout<<"sjfnb"<<endl;
return 0;
}


#include <iostream>
#include <set>
using namespace std;
const int maxn = 100005;
int a[maxn], winner;
void print()
{
  if(winner) cout << "sjfnb" << endl;
  else cout << "cslnb" << endl;
  exit(0);
}
int main()
{
  int n;
  cin >> n;
  for(int i = 0; i < n; i++)
    cin >> a[i];
  if(n == 1)
  {
    if(a[0] == 0) winner = 0;
    else winner = 1;
    print();
  }
  sort(a,a+n);
  int minus = 0;
  for(int i = 1; i < n; i++)
  {
    if(a[i] == a[i-1])
    {
      a[i-1]--;
      minus++;
      break;
    }
  }
  if(a[0] == -1)
  {
    winner = 0;
    print();
  }
  for(int i = 1; i < n; i++)
  {
    if(a[i] == a[i-1])
    {
      winner = 0;
      print();
    }
  }
  int sum = minus;
  for(int i = 0; i < n; i++)
  {
    sum += a[i];
  }
  sum -= n * (n-1) / 2;
  if(sum&1) winner = 1;
  else winner = 0;
  print();
  return 0;
}


#include <iostream>
#include <algorithm>
using namespace std;
const int maxn = 100005;
int a[maxn], winner;
void print()
{
  if(winner) cout << "sjfnb" << endl;
  else cout << "cslnb" << endl;
  exit(0);
}
int main()
{
  long long n;
  cin >> n;
  for(int i = 0; i < n; i++)
    cin >> a[i];
  if(n == 1)
  {
    if(a[0] == 0) winner = 0;
    else winner = 1;
    print();
  }
  sort(a,a+n);
  int minus = 0;
  for(int i = 1; i < n; i++)
  {
    if(a[i] == a[i-1])
    {
      a[i-1]--;
      minus++;
      break;
    }
  }
  if(a[0] == -1)
  {
    winner = 0;
    print();
  }
  for(int i = 1; i < n; i++)
  {
    if(a[i] == a[i-1])
    {
      winner = 0;
      print();
    }
  }
  long long sum = minus;
  for(int i = 0; i < n; i++)
  {
    sum += a[i];
  }
  sum -= n * (n-1) / 2;
  if(sum&1) winner = 1;
  else winner = 0;
  print();
  return 0;
}


#include <iostream>
#include <algorithm>
using namespace std;
const int maxn = 100005;
int a[maxn], winner;
void print()
{
  if(winner) cout << "sjfnb" << endl;
  else cout << "cslnb" << endl;
  exit(0);
}
int main()
{
  long long n;
  cin >> n;
  for(int i = 0; i < n; i++)
    cin >> a[i];
  if(n == 1)
  {
    if(a[0]%2 == 0) winner = 0;
    else winner = 1;
    print();
  }
  sort(a,a+n);
  int minus = 0;
  for(int i = 1; i < n; i++)
  {
    if(a[i] == a[i-1])
    {
      a[i-1]--;
      minus++;
      break;
    }
  }
  if(a[0] == -1)
  {
    winner = 0;
    print();
  }
  for(int i = 1; i < n; i++)
  {
    if(a[i] == a[i-1])
    {
      winner = 0;
      print();
    }
  }
  long long sum = minus;
  for(int i = 0; i < n; i++)
  {
    sum += a[i];
  }
  sum -= n * (n-1) / 2;
  if(sum&1) winner = 1;
  else winner = 0;
  print();
  return 0;
}


#include <iostream>
#include <algorithm>
using namespace std;
const int maxn = 100005;
int a[maxn], winner;
void print()
{
  if(winner) cout << "sjfnb" << endl;
  else cout << "cslnb" << endl;
  exit(0);
}
int main()
{
  int n;
  cin >> n;
  for(int i = 0; i < n; i++)
    cin >> a[i];
  if(n == 1)
  {
    if(a[0] == 0) winner = 0;
    else winner = 1;
    print();
  }
  sort(a,a+n);
  int minus = 0;
  for(int i = 1; i < n; i++)
  {
    if(a[i] == a[i-1])
    {
      a[i-1]--;
      minus++;
      break;
    }
  }
  if(a[0] == -1)
  {
    winner = 0;
    print();
  }
  for(int i = 1; i < n; i++)
  {
    if(a[i] == a[i-1])
    {
      winner = 0;
      print();
    }
  }
  int sum = minus;
  for(int i = 0; i < n; i++)
  {
    sum += a[i];
  }
  sum -= n * (n-1) / 2;
  if(sum&1) winner = 1;
  else winner = 0;
  print();
  return 0;
}


#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn=4e5+7;
const int mod=1e9+7;
char x;
ll n,t,m,s;
ll a[maxn];
int main()
{
    cin>>n;
    m=0;
    for(int i=1;i<=n;i++)
    {
        cin>>a[i];
    }
    sort(a+1,a+1+n);
    for(int i=2;i<=n;i++)
    {
        if(a[i]==a[i-1])
            m++;
        if(a[i]==0&&a[i-1]==0)
            m=2;
    }
    s=0;
    for(int i=1;i<=n;i++)
    {
        s+=a[i]-(i-1);
    }
    if(s%2==0||m>=2)
    {
        cout<<"cslnb"<<endl;
    }
    else
        cout<<"sjfnb"<<endl;
    return 0;
}


#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn=4e5+7;
const int mod=1e9+7;
char x;
ll n,t,m,s;
ll a[maxn];
int main()
{
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        cin>>a[i];
    }
    sort(a+1,a+1+n);
    s=0;
    for(int i=1;i<=n;i++)
    {
        s+=a[i]-(i-1);
    }
    if(s%2==0)
    {
        cout<<"cslnb"<<endl;
    }
    else
        cout<<"sjfnb"<<endl;
    return 0;
}


#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn=4e5+7;
const int mod=1e9+7;
char x;
ll n,t,m,s;
ll a[maxn];
int main()
{
    cin>>n;
    m=0;
    for(int i=1;i<=n;i++)
    {
        cin>>a[i];
    }
    sort(a+1,a+1+n);
    for(int i=2;i<=n;i++)
    {
        if(a[i]==a[i-1])
            m++;
        if(a[i]==0&&a[i-1]==0)
            m=2;
        if(a[i]==a[i-1]&&i>2&&a[i-1]==a[i-2]+1)
            m=2;
    }
    s=0;
    for(int i=1;i<=n;i++)
    {
        s+=a[i]-(i-1);
    }
    if(s%2==0||m>=2)
    {
        cout<<"cslnb"<<endl;
    }
    else
        cout<<"sjfnb"<<endl;
    return 0;
}


#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn=4e5+7;
const int mod=1e9+7;
char x;
ll n,t,m,s;
ll a[maxn];
int main()
{
    cin>>n;
    m=0;
    for(int i=1;i<=n;i++)
    {
        cin>>a[i];
    }
    sort(a+1,a+1+n);
    for(int i=2;i<=n;i++)
    {
        if(a[i]==a[i-1])
            m++;
    }
    s=0;
    for(int i=1;i<=n;i++)
    {
        s+=a[i]-(i-1);
    }
    if(s%2==0||m>=2)
    {
        cout<<"cslnb"<<endl;
    }
    else
        cout<<"sjfnb"<<endl;
    return 0;
}


#include <bits/stdc++.h>

using namespace std;

long long n,z=0,c=0,a[100069],e;
map<long long,long long> fq;

int main()
{
	long long i;

	scanf("%lld",&n);
	for(i=0;i<n;i++)
	{
		scanf("%lld",a+i);
		fq[a[i]]++;
		if(fq[a[i]]>1)
		{
			e=a[i];
			c++;
			if(c>1)
			{
				printf("cslnb\n");
				return 0;
			}
		}
		z+=a[i];
	}
	if(c&&fq[e-1]==1)
	{
		printf("cslnb\n");
		return 0;
	}
	if((z-n*(n-1)/2)%2==0)
	{
		printf("cslnb\n");
	}
	else
	{
		printf("sjfnb\n");
	}
}


#include <bits/stdc++.h>

using namespace std;

long long n,z=0,c=0,a[100069],e;
map<long long,long long> fq;

int main()
{
	long long i;

	scanf("%lld",&n);
	for(i=0;i<n;i++)
	{
		scanf("%lld",a+i);
		fq[a[i]]++;
		if(fq[a[i]]>1)
		{
			e=a[i];
			c++;
			if(c>1)
			{
				printf("cslnb\n");
				return 0;
			}
		}
		z+=a[i];
	}
	if(c&&(!e||fq[e-1]==1))
	{
		printf("cslnb\n");
		return 0;
	}
	if((z-n*(n-1)/2)%2==0)
	{
		printf("cslnb\n");
	}
	else
	{
		printf("sjfnb\n");
	}
}