Problem: Create a program that rotates the pattern of 8 characters x 8 lines clockwise by 90 degrees, 180 degrees, and 270 degrees and outputs it.



Input

A pattern consisting of 8 characters x 8 lines is given. Characters consist of alphanumeric characters, half-width pound'#', and asterisk'*'.

Output

Output the rotated pattern in the following format.


90 (fixed half-width numbers)
Pattern rotated 90 degrees
180 (fixed half-width numbers)
180 degree rotated pattern
270 (fixed half-width numbers)
Pattern rotated 270 degrees


Examples

Input

#*******
#*******
#*******
#*******
#*******
#*******
#*******
########


Output

90
########
#*******
#*******
#*******
#*******
#*******
#*******
#*******
180
########
*******#
*******#
*******#
*******#
*******#
*******#
*******#
270
*******#
*******#
*******#
*******#
*******#
*******#
*******#
########


Input

*******
*******
*******
*******
*******
*******
*******


Output

90

*******
*******
*******
*******
*******
*******
*******
180

*******#
*******#
*******#
*******#
*******#
*******#
*******#
270
*******#
*******#
*******#
*******#
*******#
*******#
*******#

Solution (in CPP):

Solution:
#include<iostream>
#include<vector>
#include<string>
#include<algorithm>
#include<cstdio>

using namespace std;

void rotate90(string *Asqu, string *Bsqu)
{
	for(int k = 0; k < 8; k++)
	{
		string sent;
		for(int i = 7; i >= 0; i--)
		{
			sent += Asqu[i][k];
		}	
		Bsqu[k] = sent;
	}
}

void printC(string *Asqu)
{
	for(int i = 0; i < 8; i++)
	{
		cout << Asqu[i] << endl;
	}
}

int main()
{
	string Asqu[16], Bsqu[16];

	for(int i = 0; i < 8; i++)
	{
		cin >> Asqu[i];
	}
	rotate90(Asqu, Bsqu);
	puts("90");
	printC(Bsqu);

	rotate90(Bsqu, Asqu);
	puts("180");
	printC(Asqu);

	rotate90(Asqu, Bsqu);
	puts("270");
	printC(Bsqu);
	
}