# Divisibilit mixte

!distribute items $wims_read_parm into slib_n, slib_type, slib_formula
slib_1=!item 4 to -1 of $wims_read_parm

!default slib_static_r1=!randitem 3,4,5,6
!default slib_static_r2=!randitem 0,1
!if $slib_static_r2=1
 slib_p1=ne sont pas
 slib_p2=n'est pas
!else
 slib_p1=sont
 slib_p2=est
!endif

!default slib_static_op=!randitem *,*,+,-

!exec pari sLx=[$slib_1]
slib_x=!exec pari vector($slib_n,x,((x-1) $slib_static_op sLx[x])%$slib_static_r1)
slib_x=!positionof item 0 in $slib_x
!if $slib_static_r2=1
 slib_l=!makelist x for x=1 to $slib_n
 slib_x=!listcomplement $slib_x in $slib_l
!endif
!if $slib_formula != $empty
 slib_list=!item $slib_x of $slib_1
 slib_sum=!sum $slib_formula for x in $slib_list
!else
 slib_sum=
!endif

slib_tq=!randitem tels que, pour qui, o, pour lesquels
slib_ind=!randitem l'ensemble des indices, les indices
slib_pour=!randitem sur,pour

slib_2=!singlespace $slib_pour $slib_ind var_i $slib_tq \
	var_i$(slib_static_op)var_l[var_i] $slib_p2 divisible par $slib_static_r1

slib_out=$slib_x\
$slib_2\
$slib_sum

