#include <iostream>
#include <vector>
#include <queue>
#include <set>
#include <algorithm>
using namespace std;
typedef vector<vector<int>> Matrix;
Matrix rotateClockwise(const Matrix& mat) {
Matrix result(3, vector<int>(3));
for (int i = 0; i < 3; ++i) {
for (int j = 0; j < 3; ++j) {
result[j][2 - i] = mat[i][j];
}
}
return result;
}
Matrix rotateCounterclockwise(const Matrix& mat) {
Matrix result(3, vector<int>(3));
for (int i = 0; i < 3; ++i) {
for (int j = 0; j < 3; ++j) {
result[2 - j][i] = mat[i][j];
}
}
return result;
}
Matrix flipHorizontal(const Matrix& mat) {
Matrix result(3, vector<int>(3));
for (int i = 0; i < 3; ++i) {
result[i] = mat[i];
reverse(result[i].begin(), result[i].end());
}
return result;
}
Matrix flipVertical(const Matrix& mat) {
Matrix result(3, vector<int>(3));
for (int i = 0; i < 3; ++i) {
result[i] = mat[2 - i];
}
return result;
}
string matrixToString(const Matrix& mat) {
string s;
for (const auto& row : mat) {
for (int val : row) {
s += to_string(val) + ",";
}
}
return s;
}
int main() {
Matrix start(3, vector<int>(3));
Matrix target(3, vector<int>(3));
}