(small) programming puzzle - pattern