      subroutine mulvvvo(l,k,j,a,aa)
      ! On a l>=k>=j>=a
      use module
      IMPLICIT REAL(8)(A-H,O-X,Z),logical(1)(y)
      dimension aa(3)
      integer a,a1
      call mulvvvodx(l,k,j,a,aa(1),aa(2))
      call mulvvvodx(j,k,l,a,aa(1),aa(3))
      call mulvvvodx(j,l,k,a,aa(2),aa(3))
      return
 
!      call mulvvvod(a,j,k,l,aa(1))
!      call mulvvvod(a,l,k,j,aa(1))
!      call mulvvvod(a,j,l,k,aa(2))
!      call mulvvvod(a,k,l,j,aa(2))
!      call mulvvvod(a,k,j,l,aa(3))
!      call mulvvvod(a,l,j,k,aa(3))
!      if(w)print*,'COUCOU1'
!      if(k.ne.l) call mulvvvox(j,a,k,l,-aa(1)+aa(2))
!      if(w)print*,'COUCOU2'
!      if(k.ne.l) call mulvvvox(l,a,j,k,aa(1)-aa(3))
!      if(w)print*,'COUCOU3',aa
!      if(k.ne.l) call mulvvvox(k,a,j,l,-aa(3)+aa(2))
      return
      end
       subroutine mulvvo(a,b,k,aa)
      use module
      IMPLICIT REAL(8)(A-H,O-X,Z),logical(1)(y)
      dimension aa(2)
      integer a,b
      call mulvvvodx(a,a,b,k,aa(1),aa(1))
      call mulvvvodx(a,b,a,k,aa(2),aa(1))
      return
 
!      ! Integrale iijk
!      if(w)print*,'mulvvo Integrale iijk'
!      call mulvvvod(k,b,a,a,aa(1))
!      call mulvvvod(k,a,a,b,aa(1))
!      ! Integrale ijik
!      if(w)print*,'mulvvo Integrale ijik'
!      call mulvvvod(k,a,b,a,aa(2))
!      if(w)print*,'mulvvo mulvvvox',a,i,k,i
!      call mulvvvox(a,k,a,b,aa(2)-aa(1))
!      return
      end
