Ternary content addressable Memory