package work2;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PushbackInputStream;
import java.net.NetworkInterface;
import javax.print.DocFlavor.INPUT_STREAM;
import javax.swing.Popup;
import com.mysql.jdbc.Buffer;
class reverse{
private String input;
private String output;
public reverse(String in) {
input=in;
}
public String doReverse() {
int staSize=input.length();
stack sta=new stack(staSize);
for(int i=0;i<staSize;i++) {
sta.push(input.charAt(i));
}
String output="";
while(!sta.isEmpty()) {
output=output+(char)sta.pop();
}
return output;
}
}
public class stack {
private int maxSize;
private char[] stackArray;
private int top;
public stack(int s) {
maxSize=s;
stackArray=new char[maxSize];
top=-1;
}
public void push(char 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 static String getString() throws Exception{
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader bur = new BufferedReader(isr);
String s = bur.readLine();
return s;
}
public static void main(String[] args) throws Exception {
String input,output;
while(true) {
System.out.println("input string");
input=getString();
if(input.equals("")) {
break;
}
System.out.println(input);
reverse re = new reverse(input);
output = re.doReverse();
System.out.println("reversed "+output);
}
}
}