public char[][] transpose_square(int[] key,char[][] square, boolean col_flag)
	{
		int row=square.length;
		int col=square[0].length;
	    char[][] result=new char[row][col];
	    if(!col_flag)
	    {
	     for(int i=0;i<key.length;i++)
	     {
	    	for(int j=0;j<row;j++)
	    	{
	    		result[j][i]=square[j][key[i]-1];
	    	}
	     }
	    }
	    else
	    {
	    	 for(int i=0;i<key.length;i++)
		     {
		    	for(int j=0;j<col;j++)
		    	{
		    		result[i][j]=square[key[i]-1][j];
		    	}
		     }
	    }
	    return result;
	}