# language: C
c

# parameter n
3 5
#  m  n  p  1
1  1 -1  0 -1
1  0 -1  1 -1
0  0  1  0 -6
1
m n p

2 # Number of statements

1
# {i, j, k | i=2*k+1; 1<=i<=m;  1<=j<=p}
5 8
#  i  k  j  m  n  p  1
0  1 -2  0  0  0  0 -1 # i=2*k+1
1  1  0  0  0  0  0 -1 # 1<=i
1 -1  0  0  1  0  0  0 # i<=m
1  0  0  1  0  0  0 -1 # 1<=j
1  0  0 -1  0  0  1  0 # j<=p
0  0  0

1
# {i, j, k | i=2*k+1; 1<=i<=n;  1<=j<=i}
5 8
#  i  k  j  m  n  p  1
0  1 -2  0  0  0  0 -1 # i=2*k+1
1  1  0  0  0  0  0 -1 # 1<=i
1 -1  0  0  0  1  0  0 # i<=n
1  0  0  1  0  0  0 -1 # 1<=j
1  1  0 -1  0  0  0  0 # j<=i
0  0  0
1
i k j

0 # Scattering functions
