We can encode each property (number, color, shape, shading} as a 1, 2, or 3.  There are four properties. So we have vectors of 4 numbers describing each card
	{(Subscript[n, 1]),(Subscript[s, 1]),(Subscript[c, 1]),(Subscript[f, 1])} 
We have decided the order is
	number	n
	shape		s 
	color		c
	fill		f

For three cards
	{(Subscript[n, 1]),(Subscript[s, 1]),(Subscript[c, 1]),(Subscript[f, 1])} , {(Subscript[n, 2]),(Subscript[s, 2]),(Subscript[c, 2]),(Subscript[f, 2])} , {(Subscript[n, 3]),(Subscript[s, 3]),(Subscript[c, 3]),(Subscript[f, 3])}
we want to tell if all the ns are the same or are all different
	({{1+1+1, =, 3}, {1+1+2, =, 4}, {1+2+2, =, 5}, {1+1+3, =, 5}, {1+2+3, =, 6}, {1+3+3, =, 7}, {2+1+1, =, 4}, { , ⋮,  }, {3+2+3, =, 8}, {3+3+3, =, 9}}) 
The ones we want are divisible by three!