public class StackX {
private int maxSize;
private long [] stackArray;
private int top;
public StackX (int s){
maxSize=s;
stackArray = new long [maxSize];
top=-1 ;
}
public void push (long j){
stackArray[++top]=j;
}
public long pop (){
return stackArray[top--];
}
public long peek (){
return stackArray[top];
}
public boolean isEmpty (){
return (top==-1 );
}
public boolean isFull (){
return (top==maxSize-1 );
}
}
public class Reverser {
private String input;
private String output;
public Reverser (String in ){
input=in ;
}
public String doRev (){
int stackSize = input.length();
StackX thsStack = new StackX(stackSize);
for (int j=0 ;j<input.length();j++){
char ch = input.charAt(j);
thsStack.push(ch);
}
output="" ;
while (!thsStack.isEmpty()){
char ch = (char ) thsStack.pop();
output = output+ch;
}
return output;
}
}
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class ReverseApp {
/**
* @param args
* @throws IOException
*/
public static void main (String[] args) throws IOException {
String input,output;
while (true ){
System.out.flush();
input = getString();
if (input.equals("" )){
break ;
}
Reverser theReverser = new Reverser(input);
output = theReverser.doRev();
System.out.println(output);
}
}
public static String getString () throws IOException{
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
String s = br.readLine();
return s;
}
}