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>
using namespace std;

int func1( int n )
{
	return n;
}

int func2( int n )
{
	return 7 - n;
}

void output( char map[][ 8 ], int dir )
{
	int angle = dir * 90;
	int i, j;
	int *p1, *p2;
	int (*f1)(int), (*f2)(int);
	switch( dir ){
		case 1: f1 = &func2; f2 = &func1; p1 = &j; p2 = &i; break;
		case 2: f1 = &func2; f2 = &func2; p1 = &i; p2 = &j; break;
		case 3: f1 = &func1; f2 = &func2; p1 = &j; p2 = &i; break;

	}

	cout << angle << endl;
	for( i = 0; i < 8; ++i ){
		for( j = 0; j < 8; ++j ){
			cout << map[ f1( *p1 ) ][ f2( *p2 ) ];
		}
		cout << endl;
	}
}

int main()
{
	char map[ 8 ][ 8 ];

	for( int i = 0; i < 8; ++i ){
		for( int j = 0; j < 8; ++j ){
			cin >> map[ i ][ j ];
		}
	}

	output( map, 1 );
	output( map, 2 );
	output( map, 3 );

	return 0;
}