      subroutine raccmt (reac,mt,mtk)
c
c     this routine returns a RACC reaction number for a 
c        reaction description
c
c     ******************************************************************
c
c     input:
c        reac   a4    reaction description
c
c     output
c        mt     i     RACC reaction number
c        mtk    a5    RACC reaction discriptor
c
c     ******************************************************************
c
      character*4    reac
      character*5    mtk
      integer        mt
c
      integer        maxr
      parameter      (maxr = 29)
      character*4    reac1
      character*4    mtc(maxr)
      integer        itemp,lis
      data           mtc /'n3a ','3a  ','2a  ','a2n ','na  ','a   ',
     1                    'h   ','t   ','np  ','d   ','p   ','3n  ',
     2                    '2n  ','g   ','n   ','2p  ','nt  ','t2a ',
     3                    '4n  ','ta  ','n2a ','2npa','AB- ','f   ',
     4                    'nd  ','nda ','2np ','nh  ','dst ' /
c
c
c
c     correct for desctruction cross section
      if (reac .eq. 'x') reac = 'dst'
c
c     find isomer state
      lis = 0
      reac1 = reac
      do 10 itemp = 4,2,-1
         if (reac1(itemp:itemp) .eq. '*') then
            lis = lis+1
         else if (reac1(itemp:itemp) .ne. ' ') then
            go to 20
         endif
         reac1(itemp:itemp)= ' '
10    continue
20    continue
c
c     find mt
      do 30 itemp = 1,maxr
         if (reac1 .eq. mtc(itemp)) go to 40
30    continue 
      write (6,601) reac
      mt = -999
      return
40    mt = 10*itemp+lis
      write (mtk,101) mtc(itemp)
c
c     return
      return
c
101   format (1x,a3,':')
601   format (' ERROR  could not find mt for ',a)
      end
