# language: C
c
# The context (no constraints on parameters)
1 4             # 1 lines and 4 columns
#  m  n  1
1  0  0  0
0

1 # The number of statements

2 # First statement
# The first domain
5 6              # 3 lines and 5 columns
#  i  j  m  n  1 
1  1  0  0  0 -1    #  i >= 1
1 -1  0  0  1  0    #  i <= n
1  1  0 -1  0  0    #  i >= m
1  0  1  0  0 -1
1  0 -1  1  0  0
# The second domain
5 6              # 3 lines and 5 columns
#  i  j  m  n  1 
1  1  0  0  0 -1    #  i >= 1
1 -1  0  0  1  0    #  i <= n
1 -1  0  2  0  0    #  i <= 2*m
1  0  1  0  0 -1
1  0 -1  1  0  0
0 0 0
0

0
