controle1=!shuffle $NN
controle2=!shuffle $NN
point1=!exec pari print(mattranspose([$controle1;$controle2]))
point =!items2words $point1
point =!translate internal ; to $\
$ in $point
point1 =!translate internal ; to $\
$ in $point1
T=!exec voronoi -t $point
cnt_T=!linecnt $T

dessin2=linewidth 1
U=!randint 1 ,$cnt_T
U=0
!for i=1 to $cnt_T
triangle= !line $i of $T
!distribute word $triangle into a,b,c
A=!line $[$a+1] of $point1
B=!line $[$b+1] of $point1
C=!line $[$c+1] of $point1
!if $i<>$U
dessin2=!append line polygon blue, $A,$B,$C,$A to $dessin2
!endif
dessin2=!append line disk  $A, 6,blue \
disk  $B, 6,blue\
disk  $C, 6,blue  to $dessin2

!next i
cnt_point=!linecnt $point1 
dessin3=
!for i=1 to $cnt_point
u=!line $i of $point1
dessin3=!append line text black,$u ,medium,$(N$i) to $dessin3
  abscisse$i=!item 1 of $u
  ordonnee$i=!item 2 of $u
!next i
border=1
!distribute item -1,$[$NN+1],-1,$[$NN+1] into x_size1, x_size2, y_size1,y_size2
xx_size=$[$x_size2-($x_size1)]
yy_size=$[$y_size2-($y_size1)]
insdraw_size=300,300

!distribute item $insdraw_size into inssize1,inssize2

dessin_sommets=xrange  $x_size1,$x_size2\
yrange $y_size1,$y_size2\
$dessin2\
$dessin3
n=!linecnt $point1
M=!exec pari  print(matrix($n,$n))

!for i=1 to $cnt_T
!if $i<>$U
triangle= !line $i of $T
!distribute word $triangle into a,b,c
M=!exec pari {M=Mat([$M]);\
M[$[$a+1],$[$b+1]]=1; M[$[$b+1],$[$a+1]]=1;\
M[$[$c+1],$[$b+1]]=1;M[$[$b+1],$[$c+1]]=1;\
M[$[$a+1],$[$c+1]]=1;M[$[$c+1],$[$a+1]]=1;\
print(M)}
!endif
!next i
G=!trim $M
GM=!translate internal ; to $\
$ in $G
etp=0
GC=!exec pari M=matrix($n,$n,i,j,0);print(M)
D=$G
GCM=!translate internal ; to $\
$ in $GC
DM=!translate internal ; to $\
$ in $D
cnt_a=0
listea=
 !for i=1 to $n
        !for j=$i+1 to $n
    g=!exec pari  G=Mat([$G]); print(G[$i,$j])
    !if $g<>0
    !advance cnt_a
listea= !append line $i,$j to $listea
!endif
    !next j
    !next i
!! coefficients =1
cnt_a=!exec pari print(norml2(Mat([$G]))/2)

!if $gor=0
ccc=!exec pari Q=matrix(1,$n); print(Q)
!else
ccc=!exec pari Q=matrix(1,$cnt_a); print(Q)
!endif
