given = [ 'ABCD';'CABD';'ACDB';'DACB'; ... 'BCDA';'ACBD';'ADCB';'CDAB'; ... 'DABC';'BCAD';'CADB';'CDBA'; ... 'CBAD';'ABDC';'ADBC';'BDCA'; ... 'DCBA';'BACD';'BADC';'BDAC'; ... 'CBDA';'DBCA';'DCAB' ]; val = 4.^(3:-1:0)'; there = 1+(toascii(given)-toascii('A'))*val; every = 1+perms(0:3)*val; bits = zeros(max(every),1); bits(every) = 1; bits(there) = 0; missing = dec2base(find(bits)-1,'ABCD')