      SUBROUTINE CUE(N,CMAT,ROUTIN)
C
C     ########################################################################
C
C     Valerio Cappellini                                            April 2007
C
C     USES :: rgnf_lux, GinUE, Haar_U_N
C     COMPATIBILITY :: Fortran 90
C     VERSION :: 1.0.0
C
C     Produces N x N CPLX Random Unitary matrices from the Dyson's Circular
C     Unitary Ensemble [CUE]. The code take N as imput and give as output
C     a Random Matrix CMAT at each call.
C
C     ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
C
C     ROUTIN   : Name of the subroutine you are going to use for generating
C                the random numbers (suggested :: rgnf_lux.f)
C
C     IMPORTANT [1] !!! Remember to initialize the Subroutine rgnf_lux.f
C                       by means of "Call Ranset_()"
C     IMPORTANT [2] !!! Remember to put the file "i_seed_rng" into the 
C                       working directory.
C     IMPORTANT [3] !!! Remember to insert main_program: "EXTERNAL rgnf_lux"
C
C     ########################################################################
C
$     debug
      INTEGER N
      COMPLEX CMAT(N,N)

      EXTERNAL ROUTIN

      call Haar_U_N(N,CMAT,ROUTIN)

      RETURN
      END
