      subroutine mulcvvv(d,b,a,x,aa)
      use module
      IMPLICIT REAL(8)(A-H,O-X,Z),logical(1)(y)
      dimension aa(3)
      integer x,a,b,d
      call mulcvvvd(x,a,b,d,aa(1),aa(2))
      if(b/=a) call mulcvvvd(x,b,a,d,aa(3),aa(2))
      if(d/=a) call mulcvvvd(x,d,b,a,aa(1),aa(3))
      !if(b/=d) call mulcvvvd(x,a,d,b,aa(2),aa(1))
      !call mulcvvvd(x,d,a,b,aa(3),aa(1))
      !call mulcvvvd(x,b,d,a,aa(2),aa(3))
      !call mulcvvvx(x,a,b,d,aa(1)-aa(2))
      !call mulcvvvx(x,d,a,b,aa(3)-aa(1))
      !call mulcvvvx(x,b,d,a,aa(3)-aa(2))
      return
      end
 
       subroutine mulcvvev(a,b,x,aa)
      use module
      IMPLICIT REAL(8)(A-H,O-X,Z),logical(1)(y)
      dimension aa(2)
      integer x,a,b
      call mulcvvvd(x,a,a,b,aa(1),aa(2))
      !call mulcvvvd(x,a,b,a,aa(2),aa(1))
      call mulcvvvd(x,b,a,a,aa(1),aa(2))
      !call mulcvvvx(x,a,a,b,aa(1)-aa(2))
      return
      end
 
 
 
 
