# Language
c

# Context

    1 11
    1    0    0    0    0    0    0    0    0    0    1
0

# Number of statments
4

1
# { (i,j,k,l,m,n,o,p,q,r,s,t) | i-1 >= 0, -i+n-1 >= 0, j-p >= 0, -j+m-1 >= 0, k-o >= 0, -k+l-1 >= 0, 1 >= 0 }

    7 14
    1    1    0    0    0    0    0    0    0    0    0    0    0   -1
    1   -1    0    0    0    0    1    0    0    0    0    0    0   -1
    1    0    1    0    0    0    0    0   -1    0    0    0    0    0
    1    0   -1    0    0    1    0    0    0    0    0    0    0   -1
    1    0    0    1    0    0    0   -1    0    0    0    0    0    0
    1    0    0   -1    1    0    0    0    0    0    0    0    0   -1
    1    0    0    0    0    0    0    0    0    0    0    0    0    1

0 0 0
1
# { (i,j,k,l,m,n,o,p,q,r,s,t) | i-1 >= 0, -i+n-1 >= 0, j-p >= 0, -j+m-1 >= 0, k-1 >= 0, -k+l-1 >= 0, 1 >= 0 }

    7 14
    1    1    0    0    0    0    0    0    0    0    0    0    0   -1
    1   -1    0    0    0    0    1    0    0    0    0    0    0   -1
    1    0    1    0    0    0    0    0   -1    0    0    0    0    0
    1    0   -1    0    0    1    0    0    0    0    0    0    0   -1
    1    0    0    1    0    0    0    0    0    0    0    0    0   -1
    1    0    0   -1    1    0    0    0    0    0    0    0    0   -1
    1    0    0    0    0    0    0    0    0    0    0    0    0    1

0 0 0
1
# { (i,j,k,l,m,n,o,p,q,r,s,t) | i-1 >= 0, -i+n-1 >= 0, j-1 >= 0, -j+m-1 >= 0, k-o >= 0, -k+l-1 >= 0, 1 >= 0 }

    7 14
    1    1    0    0    0    0    0    0    0    0    0    0    0   -1
    1   -1    0    0    0    0    1    0    0    0    0    0    0   -1
    1    0    1    0    0    0    0    0    0    0    0    0    0   -1
    1    0   -1    0    0    1    0    0    0    0    0    0    0   -1
    1    0    0    1    0    0    0   -1    0    0    0    0    0    0
    1    0    0   -1    1    0    0    0    0    0    0    0    0   -1
    1    0    0    0    0    0    0    0    0    0    0    0    0    1

0 0 0
1
# { (i,j,k,l,m,n,o,p,q,r,s,t) | i-1 >= 0, -i+n-1 >= 0, j-1 >= 0, -j+m-1 >= 0, k-1 >= 0, -k+l-1 >= 0, 1 >= 0 }

    7 14
    1    1    0    0    0    0    0    0    0    0    0    0    0   -1
    1   -1    0    0    0    0    1    0    0    0    0    0    0   -1
    1    0    1    0    0    0    0    0    0    0    0    0    0   -1
    1    0   -1    0    0    1    0    0    0    0    0    0    0   -1
    1    0    0    1    0    0    0    0    0    0    0    0    0   -1
    1    0    0   -1    1    0    0    0    0    0    0    0    0   -1
    1    0    0    0    0    0    0    0    0    0    0    0    0    1

0 0 0
0
# Scattering functions
4

    8 21
    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
    0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0
    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
    0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0
    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
    0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0
    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0
    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1


    8 21
    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1
    0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0
    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
    0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0
    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1
    0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0
    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0
    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1


    8 21
    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2
    0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0
    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1
    0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0
    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
    0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0
    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0
    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1


    8 21
    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3
    0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0
    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1
    0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0
    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1
    0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0
    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0
    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1

0
