vector
 clockwisePrint(vector
 > mat, int n, int m) {              vector
 ret;        int i=0;        int j=0;        int startx=0;        int starty=0;        int endx=n-1;        int endy=m-1;        while(startx<=endx && starty<=endy){                                   if(endy==starty){                for(j=endy,i=startx;i<=endx;++i){                 ret.push_back(mat[i][j]);             }                return ret;            }            if(endx==startx){                for(i=startx,j=starty;j<=endy;++j){                 ret.push_back(mat[i][j]);             }                return ret;            }                for(i=startx,j=starty;j<=endy;++j){                ret.push_back(mat[i][j]);            }            for(j=endy,i=startx+1;i<=endx;++i){                ret.push_back(mat[i][j]);            }            for(i=endx,j=endy-1;j>=starty;--j){                ret.push_back(mat[i][j]);            }            for(j=starty,i=endx-1;i>startx;--i){                ret.push_back(mat[i][j]);            }                        startx++;            starty++;            endx--;            endy--;                        }        return ret;    }