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 <algorithm>
#include <cstdio>
#include <numeric>
#include <string>
#include <cmath>
#include <map>
#include <vector>
#include <sstream>

#define rep(x,to) for(int x=0;x<to;x++)
#define rep2(x,from,to) for(int x=from;x<to;x++)

using namespace std;
typedef long long ll;


void kai(string z[], int hk){
	string w[8];
	fill(w,w+8,"        ");
	if(hk==1)
		rep(i,8) rep(j,8) w[j][7-i]=z[i][j];
	else if(hk==2)
		rep(i,8) rep(j,8) w[7-i][7-j]=z[i][j];
	else
		rep(i,8) rep(j,8) w[7-j][i]=z[i][j];
	rep(i,8) cout << w[i] << endl;
}

int main() {
	string ba[8];
	
	rep(i,8) cin >> ba[i];
	cout << "90" << endl;
	kai(ba,1);
	cout << "180" << endl;
	kai(ba,2);
	cout << "270" << endl;
	kai(ba,3);
	
	return 0;
}