      PROGRAM GENCAL
      PARAMETER (NUM=66)
      CHARACTER TXT(133)
      REAL ATTS(6),ATT40(NUM,3),ATTNIL(NUM,3),HP(NUM),CAL(NUM,3)
      REAL THIRDIM(NUM)
      INTEGER NOM(NUM)
      OPEN ( UNIT=5,FILE='caltab.txt',STATUS='OLD')
      OPEN ( UNIT=7,FILE='calres.txt')
      OPEN ( UNIT=8,FILE='cal.txt')
      DO 10 I=1,4
      READ(5,500)TXT
 10   WRITE(7,501)TXT
 500  FORMAT(133A)
 501  FORMAT(133A)
      NHP=0
      SUMHP=0
      SUM1=0
      SUMN=0
      NATT=0
      DO 15 I=1,6
 15   ATTS(I)=0
      DO 20 I=1,NUM
      READ(5,510)NOM(I),ATT40(I,1),ATT40(I,2),ATT40(I,3),
     & ATTNIL(I,1),ATTNIL(I,2),ATTNIL(I,3),HP(I)
C      WRITE(7,510)NOM(I),ATT40(I,1),ATT40(I,2),ATT40(I,3),
C     & ATTNIL(I,1),ATTNIL(I,2),ATTNIL(I,3),HP(I)
      IF(HP(I).EQ.0)GOTO 18
      NHP=NHP+1
      SUM1=SUM1+ATT40(I,1)
      SUMHP=SUMHP+HP(I)
      SUMN=SUMN+NOM(I)
 18   CONTINUE
      DO 22 J=1,3
      IF(ATT40(I,J).EQ.0.OR.ATTNIL(I,J).EQ.0)GOTO 24
 22   CONTINUE
      NATT=NATT+1
      DO 26 J=1,3
      ATTS(J)=ATTS(J)+ATT40(I,J)
 26   ATTS(J+3)=ATTS(J+3)+ATTNIL(I,J)
 24   CONTINUE
 20   CONTINUE
      SUM1=SUM1/NHP
      SUMHP=SUMHP/NHP
      SUMN=SUMN/NHP
      DO 30 I=1,6
 30   ATTS(I)=ATTS(I)/NATT   
      ATT=0
      DO 33 I=1,3
 33   ATT=ATT+ATTS(I)-ATTS(I+3)    
      ATT=ATT/3
      WRITE(*,*)'ATT=',-ATT
      WRITE(6,*)SUMN,SUM1,SUMHP,ATTS
      DO 40 I=1,NUM
      DO 45 J=1,3
      CAL(I,J)=0
      IF(ATT40(I,J).EQ.0)GOTO 45
      CAL(I,J)=SUMHP-SUM1+ATT40(I,J)
 45   CONTINUE
      DO 47 J=1,3
      IF(ATTNIL(I,J).EQ.0)GOTO 47
      T=SUMHP-SUM1+ATTNIL(I,J)+ATT
      IF(ATT40(I,J).EQ.0)GOTO 48
      CAL(I,J)=(CAL(I,J)+T)/2
      GOTO 47
 48   CAL(I,J)=T
 47   CONTINUE
      THIRDIM(I)=2*CAL(I,2)+CAL(I,3)
      WRITE(7,510)NOM(I),(ATT40(I,J),J=1,3),(ATTNIL(I,J),J=1,3),
     & HP(I),(CAL(I,J),J=1,3),2*CAL(I,2)+CAL(I,3),CAL(I,2)+2*CAL(I,3)
      WRITE(8,510)NOM(I),(CAL(I,J),J=1,3),THIRDIM(I)
 40   CONTINUE
      WRITE(8,510)9999,0.,0.,0.,0.
      STOP
 510  FORMAT(I4,2X,3F7.2,1X,3F7.2,3X,F7.2,2X,3F7.2,2X,2F7.2)
      END
