MINION 3

**VARIABLES**
DISCRETE s0[8] {0..7}
DISCRETE s1[8] {0..7}
DISCRETE s2[8] {0..7}
DISCRETE s3[8] {0..7}
DISCRETE s4[8] {0..7}
DISCRETE s5[8] {0..7}
DISCRETE s6[8] {0..7}
DISCRETE s7[8] {0..7}


**SEARCH**

PRINT[
[s0],[s1],[s2],[s3],[s4],[s5],[s6],[s7]]

VARORDER [
s0 , s1, s2, s3, s4, s5, s6, s7]


**CONSTRAINTS**

alldiff([ s0[0], s0[1], s0[2], s0[3], s0[4], s0[5], s0[6], s0[7]])
alldiff([ s1[0], s1[1], s1[2], s1[3], s1[4], s1[5], s1[6], s1[7]])
alldiff([ s2[0], s2[1], s2[2], s2[3], s2[4], s2[5], s2[6], s2[7]])
alldiff([ s3[0], s3[1], s3[2], s3[3], s3[4], s3[5], s3[6], s3[7]])
alldiff([ s4[0], s4[1], s4[2], s4[3], s4[4], s4[5], s4[6], s4[7]])
alldiff([ s5[0], s5[1], s5[2], s5[3], s5[4], s5[5], s5[6], s5[7]])
alldiff([ s6[0], s6[1], s6[2], s6[3], s6[4], s6[5], s6[6], s6[7]])
alldiff([ s7[0], s7[1], s7[2], s7[3], s7[4], s7[5], s7[6], s7[7]])

alldiff([ s0[0], s1[0], s2[0], s3[0], s4[0], s5[0], s6[0], s7[0]])
alldiff([ s0[1], s1[1], s2[1], s3[1], s4[1], s5[1], s6[1], s7[1]])
alldiff([ s0[2], s1[2], s2[2], s3[2], s4[2], s5[2], s6[2], s7[2]])
alldiff([ s0[3], s1[3], s2[3], s3[3], s4[3], s5[3], s6[3], s7[3]])
alldiff([ s0[4], s1[4], s2[4], s3[4], s4[4], s5[4], s6[4], s7[4]])
alldiff([ s0[5], s1[5], s2[5], s3[5], s4[5], s5[5], s6[5], s7[5]])
alldiff([ s0[6], s1[6], s2[6], s3[6], s4[6], s5[6], s6[6], s7[6]])
alldiff([ s0[7], s1[7], s2[7], s3[7], s4[7], s5[7], s6[7], s7[7]])

eq(s0[2], 3)
eq(s0[4], 2)
eq(s0[7], 6)
eq(s1[2], 2)
eq(s1[3], 3)
eq(s1[5], 1)
eq(s2[0], 5)
eq(s2[1], 0)
eq(s2[4], 1)
eq(s3[2], 5)
eq(s3[3], 7)
eq(s3[7], 4)
eq(s4[5], 3)
eq(s4[6], 6)
eq(s4[7], 1)
eq(s5[0], 7)
eq(s5[3], 0)
eq(s5[6], 5)
eq(s6[1], 2)
eq(s6[5], 6)
eq(s6[6], 3)
eq(s7[0], 3)
eq(s7[1], 7)
eq(s7[4], 4)

**EOF**
