1. 

/* Angewandte Mathematik, SS09, IFB 2C
* ACM Problem #490 (Rotating Sentences)
* Link: http://icpcres.ecs.baylor.edu/onlinejudge/index.php?option=com_onlinejudge&Itemid=8&category=6&page=show_problem&problem=431
*
* @author Dennis Wilfert
* @author Johann Studt
* @version 1.0, 04/17/2009
*
* Status : Accepted
* Runtime: 0.260
*/
import java.util.Scanner;
import java.io.BufferedReader;
import java.io.InputStreamReader;


public class Main {

public static void main(String[] args) {

BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

Scanner scanner = new Scanner(reader);

// 2-Dimensionales Array in dem die Zeilen als einzelne chars gespeichert werden.
char[][] output = new char[100][100];
// Länge der laengsten zeile
int max = 0;
// Laenge der aktuellen Zeile
int linelength;
// Anzahl der gelesenen Zeilen
int linenumber = 0;
// Array für die aktuelle Zeile
char[] line;

while(scanner.hasNext()){

linenumber++;
line = scanner.nextLine().toCharArray();
linelength = line.length;

if(linelength > max)max = linelength;

for(int i = 0; i< linelength; i++){

output[linenumber-1][i] = line[i];
}


}
// Array rueckwaerts durchlaufen und immer ein char ausgeben
for(int h = 0; h < max; h++){
for(int i = linenumber-1; i>=0; i--){

if(output[i][h] != 0)System.out.print(output[i][h]);
else System.out.print(" ");
}
System.out.println();
}

}

}