 
      SUBROUTINE C_PR_tot_swap(N,K,Matr_input,Matr_output)
C
C	########################################################################
C
C	Valerio Cappellini                                         February 2007
C
C     USES :: None
C     COMPATIBILITY :: Fortran 90
C     VERSION :: 1.0.0
C
C     C_PR_tot_swap.f :: it take as input the 2 INTEGER numbers N and K and a 
C                 (N*K)x(N*K) COMPLEX matrix M and return as output the 
C                 (K*N)x(K*N) COMPLEX matrix "TOTAL SWAP of M"
C
C	########################################################################
C
$	debug
	implicit none
       
      INTEGER N,K
	COMPLEX Matr_input(N*K,N*K), Matr_output(N,K,N,K)
      
	Matr_output=RESHAPE(Matr_input,(/N,K,N,K/),(/(0.,0.)/),(/2,1,4,3/))

      RETURN
      END