#include <bits/stdc++.h>
using namespace std;

class Node{
public:
	int idx, cnt;
	char chr;
	Node(int i, int freq, char c) : idx(i), cnt(freq), chr(c){}
};

void increaseKey(vector<Node> &heap, vector<int> &pos, int i){
	while(i && heap[i].cnt < heap[(i-1)/2].cnt){
		
		swap(heap[i], heap[(i-1)/2]);
		swap(pos[heap[i].chr - 'a'], pos[heap[(i-1)/2].chr - 'a']);
		
		i = (i-1)/2;
	}
}

void heapify(vector<Node> &heap, vector<int> &pos, int i, int n){
	int small = i;
	int l = 2 * i + 1, r = l + 1;
	
	if(l < n && heap[l].cnt < heap[small].cnt)
		small = l;
		
	if(r < n && heap[r].cnt < heap[small].cnt)
		small = r;
	
	if(small ^ i){
		swap(heap[i], heap[small]);
		swap(pos[heap[i].chr - 'a'], pos[heap[small].chr - 'a']);
		
		heapify(heap, pos, small, n);
	}	
}

int main() {
	char val;
	vector<int> position(26, -1);
	vector<Node> heap;
	int idx = -1;
	
	while(true){
		cin>>val;
		
		if(val == 'N')
			break;
		
		++idx;
		
		if(position[val-'a'] == -1){
			position[val-'a'] = heap.size();
			heap.push_back({idx, 1, val});
			increaseKey(heap, position, heap.size()-1);
		}
		else{
			++heap[position[val-'a']].cnt;
			heapify(heap, position, 0, heap.size());
		}
		
		if(heap[0].cnt == 1)
			cout<<"The current non-repeating first character is: "<<heap[0].chr<<"\n";
		else
			cout<<"No non-repeating first character available.\n";
		cout<<"===============================================\n";
	}
	
	return 0;
}