```C
subroutine h4angf( xsp   , xlp   , xl0   , xst0  , xlt0  ,
&                    xl1   , xst1  , xlt1  , xnq   , fpc   ,
&                    xjp   , xj0   , xjt0  , xj1   , xjt1  ,
&                    anga  , lama  , nlam
&                )
c-----------------------------------------------------------------------
c
c  ****************** fortran77 subroutine: h4angf *********************
c
c  purpose:  calculates angular factors for born approximation
c
c
c  subroutine:
c
c  input : (r*8)  xsp       = 2*Sp+1 parent spin angular momentum
c  input : (r*8)  xlp       = Lp parent orbital angular momentum
c  input : (r*8)  xl0       = l initial valence electron orbital
c  input : (r*8)  xst0      = 2*S+1  total initial spin anular momentum
c  input : (r*8)  xlt0      = L  total initial orbital angular momentum
c  input : (r*8)  xl1       = l' final valence electron orbital
c  input : (r*8)  xst1      = 2*S'+1  total initial spin anular momentum
c  input : (r*8)  xlt1      = L'  total initial orbital angular momentum
c  input : (r*8)  xnq       = number of equivalent electrons in initial
c                             state
c  input : (r*8)  fpc       = fractional parentage coefficient
c  input : (r*8)  xjp       = Jp  parent total angular momentum
c  input : (r*8)  xj0       = j  initial valence electron angular mom.
c  input : (r*8)  xjt0      = J  total initial angular momentum
c  input : (r*8)  xj1       = j'  final valence electron angular mom.
c  input : (r*8)  xjt1      = J'  total initial angular momentum
c
c  output: (r*8)  anga()   = angular factor for each multipole
c  output: (i*4)  lama()   = multipole
c  output: (i*4)  nlam     = number of multipoles in anga vector
c
c
c  output: (c*80) cstrg     = string marking end of partition block
c
c  routines:
c          routine    source    brief description
c          -------------------------------------------------------------
c          wig3j      adas      evaluates the wigner 3-j symbol
c          wig6j      adas      evaluates the wigner 6-j symbol
c          i4unit     adas      fetch unit number for output of messages
c
c  author:  h. p. summers, university of strathclyde
c           ja7.08
c           tel. 0141-548-4196
c
c  date:    24/02/03
c
c  update:
c
c-----------------------------------------------------------------------
c-----------------------------------------------------------------------
INTEGER             LAMA(20),    NLAM
REAL*8              ANGA(20),    FPC,         XJ0,         XJ1
REAL*8              XJP,         XJT0,        XJT1,        XL0
REAL*8              XL1,         XLP,         XLT0,        XLT1
REAL*8              XNQ,         XSP,         XST0,        XST1
```