MINION 3

**VARIABLES**
DISCRETE s0[4] {0..3}
DISCRETE s1[4] {0..3}
DISCRETE s2[4] {0..3}
DISCRETE s3[4] {0..3}


**SEARCH**

PRINT[
[s0],[s1],[s2],[s3]]

VARORDER [
s0 , s1, s2, s3]


**CONSTRAINTS**

alldiff([ s0[0], s0[1], s0[2], s0[3]])
alldiff([ s1[0], s1[1], s1[2], s1[3]])
alldiff([ s2[0], s2[1], s2[2], s2[3]])
alldiff([ s3[0], s3[1], s3[2], s3[3]])

alldiff([ s0[0], s1[0], s2[0], s3[0]])
alldiff([ s0[1], s1[1], s2[1], s3[1]])
alldiff([ s0[2], s1[2], s2[2], s3[2]])
alldiff([ s0[3], s1[3], s2[3], s3[3]])

eq(s1[2], 3)
eq(s3[1], 2)

**EOF**
