/* package whatever; // don't place package name! */
import java.util.Scanner;
/**
*
* @author Neelabh
*/
class FirstNonRepeatedCharacterEfficient {
public static void main
(String [] args
){ CharCountAndPosition [] array=new CharCountAndPosition[256];
for(int i=0;i<256;i++)
{
array[i]=new CharCountAndPosition();
}
Scanner scan
=new Scanner
(System.
in); int len=str.length();
for(int i=0;i<len;i++){
char c=str.charAt(i);
int index=c-'a';
int frequency=array[index].frequencyOfchar;
if(frequency==0)
array[index].firstIndex=i;
array[index].frequencyOfchar=frequency+1;
//System.out.println(c+" "+array[index].frequencyOfchar);
}
boolean flag=false;
int firstPosition
=Integer.
MAX_VALUE; for(int i=0;i<256;i++){
if(array[i].frequencyOfchar==1){
//System.out.println("character="+(char)(i+(int)'a'));
if(firstPosition> array[i].firstIndex){
firstPosition=array[i].firstIndex;
flag=true;
}
}
}
if(flag==true)
System.
out.
println(str.
charAt(firstPosition
)); else
System.
out.
println("There is no such type of character"); }
}
class CharCountAndPosition{
int firstIndex;
int frequencyOfchar;
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC5TY2FubmVyOwoKLyoqCiAqCiAqIEBhdXRob3IgTmVlbGFiaAogKi8KCmNsYXNzIEZpcnN0Tm9uUmVwZWF0ZWRDaGFyYWN0ZXJFZmZpY2llbnQgewogICAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nIFtdIGFyZ3MpewogICAgICAgIENoYXJDb3VudEFuZFBvc2l0aW9uIFtdIGFycmF5PW5ldyBDaGFyQ291bnRBbmRQb3NpdGlvblsyNTZdOwogICAgICAgIGZvcihpbnQgaT0wO2k8MjU2O2krKykKICAgICAgICB7CiAgICAgICAgICAgIGFycmF5W2ldPW5ldyBDaGFyQ291bnRBbmRQb3NpdGlvbigpOwogICAgICAgIH0KICAgICAgICBTY2FubmVyIHNjYW49bmV3IFNjYW5uZXIoU3lzdGVtLmluKTsKICAgICAgICBTdHJpbmcgc3RyPXNjYW4ubmV4dCgpOwogICAgICAgIGludCBsZW49c3RyLmxlbmd0aCgpOwogICAgICAgIGZvcihpbnQgaT0wO2k8bGVuO2krKyl7CiAgICAgICAgICAgIGNoYXIgYz1zdHIuY2hhckF0KGkpOwogICAgICAgICAgICBpbnQgaW5kZXg9Yy0nYSc7ICAgICAgICAgICAgCiAgICAgICAgICAgIGludCBmcmVxdWVuY3k9YXJyYXlbaW5kZXhdLmZyZXF1ZW5jeU9mY2hhcjsKICAgICAgICAgICAgaWYoZnJlcXVlbmN5PT0wKQogICAgICAgICAgICAgICAgYXJyYXlbaW5kZXhdLmZpcnN0SW5kZXg9aTsKICAgICAgICAgICAgYXJyYXlbaW5kZXhdLmZyZXF1ZW5jeU9mY2hhcj1mcmVxdWVuY3krMTsgICAgCiAgICAgICAgICAgIC8vU3lzdGVtLm91dC5wcmludGxuKGMrIiAiK2FycmF5W2luZGV4XS5mcmVxdWVuY3lPZmNoYXIpOwogICAgICAgIH0KICAgICAgICBib29sZWFuIGZsYWc9ZmFsc2U7CiAgICAgICAgaW50IGZpcnN0UG9zaXRpb249SW50ZWdlci5NQVhfVkFMVUU7CiAgICAgICAgZm9yKGludCBpPTA7aTwyNTY7aSsrKXsgICAgICAgICAgICAKICAgICAgICAgICAgaWYoYXJyYXlbaV0uZnJlcXVlbmN5T2ZjaGFyPT0xKXsKICAgICAgICAgICAgICAgIC8vU3lzdGVtLm91dC5wcmludGxuKCJjaGFyYWN0ZXI9IisoY2hhcikoaSsoaW50KSdhJykpOwogICAgICAgICAgICAgICAgaWYoZmlyc3RQb3NpdGlvbj4gYXJyYXlbaV0uZmlyc3RJbmRleCl7ICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICBmaXJzdFBvc2l0aW9uPWFycmF5W2ldLmZpcnN0SW5kZXg7CiAgICAgICAgICAgICAgICAgICAgZmxhZz10cnVlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9ICAgICAgICAgICAgCiAgICAgICAgfQogICAgICAgIGlmKGZsYWc9PXRydWUpCiAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbihzdHIuY2hhckF0KGZpcnN0UG9zaXRpb24pKTsKICAgICAgICBlbHNlCiAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiVGhlcmUgaXMgbm8gc3VjaCB0eXBlIG9mIGNoYXJhY3RlciIpOwogICAgfSAKfQpjbGFzcyBDaGFyQ291bnRBbmRQb3NpdGlvbnsKICAgIGludCBmaXJzdEluZGV4OwogICAgaW50IGZyZXF1ZW5jeU9mY2hhcjsKfQ==