abcfbc abfcab programming contest abcd mnp