      SUBROUTINE PUTALL(Z,LENGTH,IRREPX,LSTNUM)
C
C THIS ROUTINE WRITES OUT ALL IRREPS OF A SYMMETRY PACKED DISTRIBUTION.
C
C      Z  - VECTOR HOLDING THE LIST.
C  LENGTH - THE TOTAL LENGTH.
C  ICACHE - THE CACHE TO BE USED IN I/O OPERATIONS.
C  LSTNUM - THE LIST NUMBER WHICH Z IS WRITTEN TO.
C
CEND
      IMPLICIT INTEGER (A-Z)
      DOUBLE PRECISION Z(LENGTH)
      COMMON /SYMINF/ NSTART,NIRREP,IRREPA(255),IRREPB(255),DIRPRD(8,8)
      COMMON /SYMPOP/ IRPDPD(8,22),ISYTYP(2,500),D(18)
C
C  LOOP OVER IRREPS.
C
      IOFF=1
      ILIST=LSTNUM
      DO 10 IRREPR=1,NIRREP
       IRREPL=DIRPRD(IRREPR,IRREPX)
C
C GET NUMBER OF DISTRIBUTIONS AND DISTRIBUTION SIZE.
C
       NUMDIS=IRPDPD(IRREPR,ISYTYP(2,ILIST))
       DISSIZ=IRPDPD(IRREPL,ISYTYP(1,ILIST))
C
C PLUNK VECTOR ON MOINTS.
C
       IF(NUMDIS.EQ.0)GOTO 10
       CALL PUTLST(Z(IOFF),1,NUMDIS,1,IRREPR,LSTNUM)
       IOFF=IOFF+NUMDIS*DISSIZ
10    CONTINUE
      RETURN
      END
