class Transform {
  public:
    vector<vector<int> > transformImage(vector<vector<int> > mat, int n) {
        // write code here
        //[1,2,3]   [7,4,1]
        //[4,5,6] =>[8,5,2]
        //[7,8,9]   [9,6,3]

        for (int i = 0; i < n; i++) {
            for (int j = i + 1; j < n; j++) {
                swap(mat[i][j], mat[j][i]);
            }
        }
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < n/2; j++) {
                swap(mat[i][j], mat[i][n-j-1]);
            }
        }

        return mat;
    }
};