# =============================================== Global
# Language
C

# Context
0 3

# Parameter names are provided
1
# Parameter names
N 

# Number of statements
2

# =============================================== Statement 1
# ----------------------------------------------  1.1 Domain
# Iteration domain
1
4 5
   1    1    0    0    0    ## i >= 0
   1   -1    0    1   -1    ## -i+N-1 >= 0
   1    0    1    0    0    ## j >= 0
   1    0   -1    1   -1    ## -j+N-1 >= 0
0 0 0

# =============================================== Statement 2
# ----------------------------------------------  2.1 Domain
# Iteration domain
1
4 5
   1    1    0    0    0    ## i >= 0
   1   -1    0    1   -1    ## -i+N-1 >= 0
   1    0    1    0    0    ## j >= 0
   1    0   -1    1   -1    ## -j+N-1 >= 0
0 0 0

#naming for domains
0

# ---------------------------------------------- Scatterings
# of Scattering functions
2

# Scattering function
1 6
   0   1   -1    1    0    0    ## p = i-j

# Scattering function
1 6
   0   1   -1    1    0   -1    ## p = i-j+1


# we will set the scattering dimension names
1
p

