      subroutine sc03
      IMPLICIT REAL*8(A-H,O-X,Z),LOGICAL*1 (Y)
      parameter(maxsym=8)
      include 'maxorb.prm'
      parameter(maxorbcas=16)
c
c----------------------------------------------------------------
c     on a commence a remplir les 2 det
c     on etablit une correspondance entre les trous et les trous
c     restant disponibles
c----------------------------------------------------------------
c
      common /cs/ noac,nelac,numac(maxorbcas),itype(maxorb),is0,ms2
      common /orb/ enuc,eref,norb,noca,nocb
     *,iorb(2*maxorb),ninac,nvirt,noca0
      common /icd3/ numta(maxorb),numca(maxorb),numpa(maxorb),
     *numtb(maxorb),numcb(maxorb),numpb(maxorb)
      common/compt/nt1,np1,nc1,nt2,np2,nc2,
     *nt1a,np1a,nc1a,nt1b,np1b,nc1b,
     *nt2a,np2a,nc2a,nt2b,np2b,nc2b,
     *nt3a,np3a,nc3a,nt3b,np3b,nc3b,
     *it1a(2),ip1a(2),ic1a(maxorbcas),it1b(2),ip1b(2),ic1b(maxorbcas),
     *it2a(2),ip2a(2),ic2a(maxorbcas),it2b(2),ip2b(2),ic2b(maxorbcas),
     *it3a(2),ip3a(2),ic3a(maxorbcas),it3b(2),ip3b(2),ic3b(maxorbcas)
      yw=.false.
      call cd03a(ninac,0,nt1a,it1a,nt2a,it2a,numta,ntadisp)
CYW      if(yw)write(6,*)'sc03 dispo numta',(numta(k),k=1,ntadisp)
c
c----------------------------------------------------------------
c     on fait le meme travail pour les orb du CAS
c----------------------------------------------------------------
c
      call cd03a(noac,ninac,nc1a,ic1a,nc2a,ic2a,numca,ncadisp)
CYW      if(yw)write(6,*)'sc03 dispo numca',(numca(k),k=1,ncadisp)
c
c----------------------------------------------------------------
c     on fait le meme travail pour les particules
c----------------------------------------------------------------
c
      call cd03a(nvirt,ninac+noac,np1a,ip1a,np2a,ip2a,numpa,npadisp)
CYW      if(yw)write(6,*)'sc03 dispo numpa',(numpa(k),k=1,npadisp)
c
c----------------------------------------------------------------
c     on fait le meme travail pour les electrons beta
c----------------------------------------------------------------
c
      call cd03a(ninac,0,nt1b,it1b,nt2b,it2b,numtb,ntbdisp)
CYW      if(yw)write(6,*)'sc03 dispo numtb',(numtb(k),k=1,ntbdisp)
      call cd03a(noac,ninac,nc1b,ic1b,nc2b,ic2b,numcb,ncbdisp)
CYW      if(yw)write(6,*)'sc03 dispo numcb',(numcb(k),k=1,ncbdisp)
      call cd03a(nvirt,ninac+noac,np1b,ip1b,np2b,ip2b,numpb,npbdisp)
CYW      if(yw)write(6,*)'sc03 dispo numpb',(numpb(k),k=1,npbdisp)
      return
      end
