# gcd in items

!distribute items $wims_read_parm into slib_n, slib_type, slib_formula

!if $slib_static_r=$empty
 slib_primes=!shuffle 2,3,5,7,11,13
 slib_static_r=$[$(slib_primes[1])*$(slib_primes[2])]
 slib_static_gcd=!randitem 1,$(slib_primes[1])
!endif

slib_list=!item 4 to -1 of $wims_read_parm
slib_test=!values gcd(x,$slib_static_r) for x in $slib_list
slib_1=!positionof item $slib_static_gcd in $slib_test

!default slib_static_r2=!randitem 1,2
!if $slib_static_r2=1
 slib_eq=\(=)
!else
 slib_eq=\(\ne)
 slib_all=!makelist x for x=1 to $slib_n
 slib_1=!listcomplement $slib_1 in $slib_all
!endif

!if $slib_formula != $empty
 slib_l=!item $slib_1 of $slib_list
 slib_sum=!sum $slib_formula for x in $slib_l
!else
 slib_sum=
!endif

slib_tq=!randitem such that, for which, where
slib_parm=!randitem (|var_l[var_i]|,$slib_static_r),($slib_static_r,|var_l[var_i]|)
slib_2=for indices var_i $slib_tq <tt>gcd$slib_parm $slib_eq $slib_static_gcd</tt>

slib_out=$slib_1\
$slib_2\
$slib_sum

